Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 15.01.2016
Сообщений: 3
1

Вставить число k перед всеми отрицательными элементами массива

15.01.2016, 15:45. Показов 3730. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан одномерный массив, ввод с клавиатуры, нужно вставить чисто k(вводимое тоже с клавиатуры) перед всеми отрицательными элементами массива, иначе, вывести надпись: "Отрицательные элементы отсутствуют". С пояснениями было бы вообще супер, ибо перечитал уж и пересмотрел, не понимаю :C
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2016, 15:45
Ответы с готовыми решениями:

Вставить число перед всеми отрицательными элементами: исправить код
Вставить число k перед всеми отрицательными элементами. Когда ввожу размер массива, все норм....

Вставить перед всеми четными отрицательными элементами массива квадрат их номера
Помогите решить Дан одномерный массив целых чисел. Вставить перед всеми четными отрицательными...

Дан целочисленный линейный массив. Вставить число d между всеми соседними элементами, являющимися отрицательными
Дан целочисленный линейный массив. Вставить число d между всеми соседними элементами, являющимися...

Вставить число k перед всеми элементами, в которых есть цифра 1
Дан одномерный массив целых чисел. Вставить число k перед всеми элементами, в которых есть цифра 1.

5
2 / 2 / 1
Регистрация: 07.07.2015
Сообщений: 15
15.01.2016, 16:19 2
Вставить элементы можно, например, так:
C#
1
2
3
4
5
6
7
List<int> list = new List<int>();
foreach (int element in myArray)
{
    if (element < 0) { list.Add(k); }
    list.Add(element);
}
myArray = list.ToArray();
0
35 / 35 / 21
Регистрация: 25.07.2015
Сообщений: 164
15.01.2016, 16:33 3
Никто, Как вариант, если дальше не предполагается использовать массив
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
            int N = 10; //размер массива
 
            int[] A = new int[10]; //инициализируем массив
 
            Console.WriteLine("Введите массив: ");
 
            for (int i = 0; i < N; i++)
            {
                A[i] = int.Parse(Console.ReadLine()); //заполняем массив
            }
 
            Console.WriteLine("Введите k: ");
            int k = int.Parse(Console.ReadLine()); //вводим k
 
            for (int i = 0; i < N; i++)
            {
                if (A[i] < 0) // если элемент отрицательный
                    Console.Write("{0} {1}", k, A[i]+ " "); //добавляем перед ним число k и выводим
                else//в противном случае
                    Console.Write(A[i]+ " "); //просто выводим элемент массива
            }
            Console.ReadKey();
0
76 / 67 / 47
Регистрация: 26.03.2015
Сообщений: 205
15.01.2016, 16:33 4
Лучший ответ Сообщение было отмечено Никто как решение

Решение

Вот так, например, можно
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
static void Main()
        {
            List<Int32> numberArray = new List<int>(); //создаем массив (список, потому что размер массива заранее неизвестен)
            int k =0;
            Console.WriteLine("Insert k");
            k = Convert.ToInt32(Console.ReadLine());// считываем k
            Console.WriteLine("Insert numbers. Insert A for mark the end of number array"); //обозначаем для пользователя маркер конца массива
            string a = "";
           
           for (;;)
           {
              a = Console.ReadLine();// считываем введеный символ
               if (a == "A") { break; } //проверяем, является ли он маркером конца массива. если да, то заканчиваем считывать
               else
               {
                   int n = Convert.ToInt32(a); //переводим введенный символ в число
                   if (n < 0) { numberArray.Add(k); } //сравниваем это число с нулем, если меньше нуля, то вставляем k в массив
                   numberArray.Add(n);//добавляем считанное число в массив
               }
           }
 
           Console.WriteLine("New array:");
           foreach (int num in numberArray) { Console.WriteLine(num); } //выводим столбиком получившийся массив
           Console.ReadKey();
        }
1
0 / 0 / 0
Регистрация: 15.01.2016
Сообщений: 3
15.01.2016, 16:57  [ТС] 5
Спасибо большое
Очень помогли.

Добавлено через 7 минут
Только вот еще вопрос, до какого символа вводится массив? вот именно эту строку понять не могу, с маркером то что.
0
76 / 67 / 47
Регистрация: 26.03.2015
Сообщений: 205
15.01.2016, 17:07 6
Написанная мною прога считывает числа в массив до тех пор, пока пользователь не введет A (латинскую). Это и есть маркер конца массива
Можно сделать по-другому, например, заранее спросить пользователя, сколько чисел он хочет ввести - тогда маркер не понадобится


ПС: обработчик исключений я не писал, поэтому если ввести что-то другое (не А и не число), то программа вылетает
0
15.01.2016, 17:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2016, 17:07
Помогаю со студенческими работами здесь

Перед всеми элементами массива, кратными 5, вставить k
Задача: перед всеми элементами массива, кратными 5,вставить k После первого числа, кратного 5, все...

Вставить число n между всеми соседними элементами массива
Вставить число n между всеми соседними элементами одномерного массива, имеющими одинаковый знак....

Вставить новый элемент перед всеми четными элементами
Не работает,помогите исправить static void Main() { ...

Вставить в массив два числа: первое со значением n перед всеми элементами, большими n
Помогите решить на C#!. Вставить в массив два числа: первое со значением n перед всеми элементами,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru