Другие языки программирования и технологии

Помогите с задачей C#, пожалуйста

Условие: Сформировать массив IM(100), элементами которого явля¬ются числа 1, -1, 2, -2,...50, -50. Задача: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Плюс_минус_плюс { class Program { public static void Вывести(int[] a) { for (int i = 0; i < a.Length; i++) { Console.Write("{0,3}", a); //if ((i + 1) % 10 == 0) Console.WriteLine(); } Console.WriteLine(); } public static void Заполнить(int[] a) { a[0] = 1; for (int i = 0; i < a.Length - 1; i++) { a[i + 1] = a + 1; } } public static void Вывести(List<int> b) { for (int i = 0; i < b.Count; i++) Console.Write("{0,3}", b); } public static void Упорядочить(int[] a, List<int> b) { Array.Sort(a); for (int i = 0; i < a.Length; i++) { b.Add(a[i+1]); b.Add(-a[i+1]); } } static void Main(string[] args) { int[] a; List<int> b; a = new int[50]; Заполнить(a); b = new List<int>(); Console.WriteLine(); Вывести(a); Вывести(b); } } } Не формирует почему-то массив b. Помогите найти ошибку, пожалуйста
for(int k=1; k<=100; k+=2) {
IM[k-1]=k;
IM[k]=-k;
}
Всё. Массив сформирован...
Павел Скачков
Павел Скачков
87 201
Лучший ответ
Никита Соколов почти правильно...
только у вас получается что в массиве 101 элемент...
первый (нулевой) элемент будет девственно чистым (возможно равным нулю)
Никита Соколов вот так будет лучше:

for(int k=1; k
а у вас правда названия методов по-русски записаны?

в любом горбатом случае, читайте ваш Майн метод

static void Main(string[] args)
{
int[] a; - ладно, объявили какой-то массив a
List<int> b; - эээ.. . а зачем вам какой-то Лист? поди в чужом коде такое видели?

a = new int[50]; - ладно, теперь мы знаем что массив a имеет размерность 50
Заполнить (a); - допустим я верю вам что там что-то заполнилось
b = new List<int>(); - хорошо, всё ещё не понятно предназначения Листа, но по крайней мере лист создан (заметьте, ПУСТОЙ лист)
Console.WriteLine(); - очень хорошо, напечатали пустую строку
Вывести (a); - допускаю что там тоже всё работает и массив a выведется на печать правильно
Вывести (b); - хм.. . даже если у вас метод распечатки элементов Листа правильный, вы ничего в лист не ЛОЖИЛИ.. . так что и выводить нечего.. .
}

у вас же сказано - "создать массив"
для чего вы создаёте Список?

вы знаете (или по крайней мере могли догадаться) что количество элементов в массиве будет 50х2=100
ну и создайте вы массив
int[] a = new int[100];
и одним единственным циклом впишите в него числа от 1 до 50 на нечётных местах и такие же только отрицательные на нечётных...
Никита Соколов
Никита Соколов
59 171
Дедушка Артём С# позволяет использовать русские символы в именах
Александр Жуликов по-русски можно писать. Лист - это динамичный метод
Александр Жуликов а можете дать этот кусок кода одного цикла, раз можно не прибегать к дополнительным массивам?