0 / 0 / 0
Регистрация: 15.01.2016
Сообщений: 3

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

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

Author24 — интернет-сервис помощи студентам
Дан одномерный массив, ввод с клавиатуры, нужно вставить чисто k(вводимое тоже с клавиатуры) перед всеми отрицательными элементами массива, иначе, вывести надпись: "Отрицательные элементы отсутствуют". С пояснениями было бы вообще супер, ибо перечитал уж и пересмотрел, не понимаю :C
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.01.2016, 15:45
Ответы с готовыми решениями:

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

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

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

5
2 / 2 / 1
Регистрация: 07.07.2015
Сообщений: 15
15.01.2016, 16:19
Вставить элементы можно, например, так:
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
Сообщений: 165
15.01.2016, 16:33
Никто, Как вариант, если дальше не предполагается использовать массив
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
 Аватар для Melif
76 / 67 / 47
Регистрация: 26.03.2015
Сообщений: 205
15.01.2016, 16:33
Лучший ответ Сообщение было отмечено Никто как решение

Решение

Вот так, например, можно
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  [ТС]
Спасибо большое
Очень помогли.

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


ПС: обработчик исключений я не писал, поэтому если ввести что-то другое (не А и не число), то программа вылетает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.01.2016, 17:07
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Вопросы на собеседованиях по микросервисам
ArchitectMsa 27.03.2025
Работодатели ищут не просто разработчиков, знающих базовые концепции, а специалистов, разбирающихся в тонкостях масштабирования, отказоустойчивости и производительности. Сейчас на первый план выходят. . .
Взаимодействие Python с REST API
py-thonny 27.03.2025
REST API - это архитектурный стиль взаимодействия компонентов распределённого приложения в сети. Python располагает функциональным набором инструментов для работы с REST API и основная библиотека для. . .
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations рестрикции доступа на сервер sshd статья: https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru