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

Расположить сначала неотрицательные, затем отрицательные, упорядочить две части по неубыванию

16.11.2018, 23:54. Показов 2536. Ответов 4

Author24 — интернет-сервис помощи студентам
Помогите с решением задачи, пожалуйста.
Даны действительные числа a0, …, a15.
а) Переставить члены последовательности a0, …, a15 так, чтобы сначала расположились все ее неотрицательные члены, а потом – все отрицательные.
б) Упорядочить элементы каждой из двух частей массива по неубыванию.
Вот тело самой программы, преподаватель подсказал чтоб выполнить задание правильно нужно использовать цикл while, не могу понять как вписать сам цикл в программу чтоб происходила сортировка.
C#
1
2
3
4
5
6
7
8
            int n = 15;
            int[] a = new int[n];
            Random ran = new Random();
            for (int i = 0; i < n; i++)
                a[i] = ran.Next(-10, 10);
            for ( int i = 0; i < n; i++)
            Console.WriteLine(a[i]);
            Console.ReadLine();
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2018, 23:54
Ответы с готовыми решениями:

Расположить сначала отрицательные числа последовательности, а затем неотрицательные
Преобразовать последовательность действительных чисел, записанных в файле, расположив сначала...

Расположить в начале списка отрицательные элементы, а затем неотрицательные
Дан список L, элементы которого являются целыми числами. Расположить в начале списка отрицательные...

Расположить в начале списка отрицательные элементы, а затем неотрицательные
Дан список L, элементы которого являются действительными числами. Расположить в начале списка...

Список: расположить вначале неотрицательные элементы, затем отрицательные
Преобразовать исходный список, расположив вначале неотриц. элементы, затем отрицат. Порядок...

4
8 / 4 / 9
Регистрация: 23.03.2013
Сообщений: 65
17.11.2018, 09:34 2
Лучший ответ Сообщение было отмечено Roma2311 как решение

Решение

Так подойдет?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int[] array = new int[] { 1, -5, 2, -4, 3, -3, 4, -2, 5, -1 };
for (int i = 0; i < array.Length-1; i++)
{
    for(int j = array.Length-1; j != 0; j--)
    {
        if (array[j] >= array[j-1])
        {
            int tmp = array[j];
            array[j] = array[j - 1];
            array[j - 1] = tmp;
        }
        if (array[j] >= 0)
        {
            int tmp = array[j];
            array[j] = array[j - 1];
            array[j - 1] = tmp;
        }
    }
}
foreach(int digital in array)
    Console.Write(digital+" ");
Изображения
 
1
0 / 0 / 0
Регистрация: 06.11.2018
Сообщений: 16
17.11.2018, 11:32  [ТС] 3
проблема в том чтоб числа должны стоять в разброс, то есть положительные вначале в разброс и так же отрицательные
к примеру: 5 -6 9 -5 3 2 10 -12
5 9 3 2 10 -6 -5 -12
0
8 / 4 / 9
Регистрация: 23.03.2013
Сообщений: 65
17.11.2018, 11:41 4
Цитата Сообщение от Roma2311 Посмотреть сообщение
проблема в том чтоб числа должны стоять в разброс, то есть положительные вначале в разброс и так же отрицательные
к примеру: 5 -6 9 -5 3 2 10 -12
5 9 3 2 10 -6 -5 -12
А вы свои значения подставлять пробовали?
Изображения
 
0
8 / 4 / 9
Регистрация: 23.03.2013
Сообщений: 65
17.11.2018, 11:53 5
Цитата Сообщение от Roma2311 Посмотреть сообщение
числа должны стоять в разброс
Это место уберите
C#
1
2
3
4
5
6
if (array[j] >= array[j - 1])
{
    int tmp = array[j];
    array[j] = array[j - 1];
    array[j - 1] = tmp;
}
0
17.11.2018, 11:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2018, 11:53
Помогаю со студенческими работами здесь

Вывести на экран сначала неотрицательные элементы массива, затем отрицательные
дан массив. вывести на экран сначала его неотрицательные элементы, затем отрицательные.

Вывести на экран сначала неотрицательные элементы массива, затем отрицательные
1)Дан массив. Вывести на экран сначала его неотрицательные элементы, затем отрицательные 2)Дан...

Скопировать из первого массива во второй сначала отрицательные числа, а затем - неотрицательные
Область в сегменте данных содержит массив однобайтных знаковых чисел Занести эти данные в другую...

Дан массив. Вывести на экран сначала его неотрицательные элементы, затем отрицательные
Дан массив. Вывести на экран сначала его неотрицательные элементы, затем отрицательные.


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

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