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

Нужно вывести в порядке возрастания сначала все четные числа, затем все нечетные, также в порядке возрастания

12.03.2023, 15:36. Показов 764. Ответов 8

Author24 — интернет-сервис помощи студентам
Я написал код, в котором пользователь сам вводит значения для массива и размерность массива. Но я не понимаю как мне вывести сначала все четные числа в порядке возрастания, а потом все нечетные в порядке возрастания. Как мне это реализовать?

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using System;
class Pol
{
    static void Main()
    {
        double a, b ,c, d, e, f , g, h , i , j;
        string a_str, b_str, c_str, d_str, e_str, f_str, g_str, h_str, i_str, j_str;
        Console.WriteLine("Введите значения для массива: ");
        a_str = Console.ReadLine();
        b_str = Console.ReadLine();
        c_str = Console.ReadLine();
        d_str = Console.ReadLine();
        e_str = Console.ReadLine();
        f_str = Console.ReadLine();
        g_str = Console.ReadLine();
        h_str = Console.ReadLine();
        i_str = Console.ReadLine();
        j_str = Console.ReadLine();
        a = double.Parse(a_str);
        b = double.Parse(b_str);
        c = double.Parse(c_str);
        d = double.Parse(d_str);
        e = double.Parse(e_str);
        f = double.Parse(f_str);
        g = double.Parse(g_str);
        h = double.Parse(h_str);
        i = double.Parse(i_str);
        j = double.Parse(j_str);
        double[] a_massiv = { a, b, c, d, e, f, g, h, i, j };
        Console.WriteLine("Укажите размерность массива от 1 до 10");
        string size_str = Console.ReadLine();
        int size = int.Parse(size_str);
        Array.Resize(ref a_massiv, size);
        foreach (var v in a_massiv)
        {
            Console.WriteLine(v);
        }
 
 
 
 
    }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2023, 15:36
Ответы с готовыми решениями:

Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а затем – все нечетные
1.Дан целочисленный массив размера N. Вывести вначале все содержащиеся в данном массиве четные...

Вывести все четные числа массива в порядке возрастания их индексов, а затем все нечетные в порядке убывания
Дан целочисленный массив размера N.Вывести в начале все содержащиеся в данном массиве четные числа...

Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а затем все нечетные в порядке убывания индексов
Дан целочисленный массив размера N. Вывести вначале все содержащиеся в данном массиве четные числа...

Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов,а затем — все нечетные
Дан целочисленный массив размера N. Вывести вначале все содержащиеся в данном массиве четные числа...

Вывести четные числа в порядке возрастания их индексов, а затем — все нечетные числа в порядке убывания их индексов
Пожалуйста помогите с решением данных задач Дан целочисленный массив размера N. Вывести вначале...

8
2755 / 2770 / 545
Регистрация: 17.02.2019
Сообщений: 4,576
12.03.2023, 16:14 2
ilushk, а зачем стоко переменных, почему не сразу в массив заносить?

Добавлено через 30 секунд
и зачем размер менять?
0
0 / 0 / 0
Регистрация: 05.10.2022
Сообщений: 21
12.03.2023, 16:19  [ТС] 3
Задание такое, нужно чтобы пользователь сам ввёл числа для массива и сам указал размерность.
С этим я справился. Осталось последняя часть задания: вывести четные числа в порядке возрастания и нечетные числа в порядке возрастания
0
2755 / 2770 / 545
Регистрация: 17.02.2019
Сообщений: 4,576
12.03.2023, 16:30 4
Цитата Сообщение от ilushk Посмотреть сообщение
Задание такое, нужно чтобы пользователь сам ввёл числа для массива и сам указал размерность.
С этим я справился.
так почему сразу не в массив заносить? Но сначала размер массива поставить!?
А то вы сначала в строковые переменные заносите, потом их в числовые переменные, а потом размер массива ставите.
Вводите 10 штук, а потом размер меньше можете поставить.
0
0 / 0 / 0
Регистрация: 05.10.2022
Сообщений: 21
12.03.2023, 16:35  [ТС] 5
как мне сразу занести данные в массив?
0
2755 / 2770 / 545
Регистрация: 17.02.2019
Сообщений: 4,576
12.03.2023, 16:39 6
Цитата Сообщение от ilushk Посмотреть сообщение
как мне сразу занести данные в массив?
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
static void Main(string[] args)
        {
            //double a, b, c, d, e, f, g, h, i, j;
            //string a_str, b_str, c_str, d_str, e_str, f_str, g_str, h_str, i_str, j_str;
            //Console.WriteLine("Введите значения для массива: ");
            //a_str = Console.ReadLine();
            //b_str = Console.ReadLine();
            //c_str = Console.ReadLine();
            //d_str = Console.ReadLine();
            //e_str = Console.ReadLine();
            //f_str = Console.ReadLine();
            //g_str = Console.ReadLine();
            //h_str = Console.ReadLine();
            //i_str = Console.ReadLine();
            //j_str = Console.ReadLine();
            //a = double.Parse(a_str);
            //b = double.Parse(b_str);
            //c = double.Parse(c_str);
            //d = double.Parse(d_str);
            //e = double.Parse(e_str);
            //f = double.Parse(f_str);
            //g = double.Parse(g_str);
            //h = double.Parse(h_str);
            //i = double.Parse(i_str);
            //j = double.Parse(j_str);
            //double[] a_massiv = { a, b, c, d, e, f, g, h, i, j };
            Console.WriteLine("Укажите размерность массива от 1 до 10");
            int size = int.Parse(Console .ReadLine ());
            double[] a_massiv = new double[size];
            for (int i = 0; i < a_massiv.Length; i++)
            {
                Console .Write($"Введите {i} значение массива ");
                a_massiv[i] = double.Parse(Console .ReadLine());
            }
            foreach (var v in a_massiv)
            {
                Console.WriteLine(v);
            }
            Console.ReadKey(true);
        }
1
0 / 0 / 0
Регистрация: 05.10.2022
Сообщений: 21
12.03.2023, 17:14  [ТС] 7
Спасибо большое
Я попытался сделать так, чтобы он выводил мне все четные числа, не используя оператор if.
Попытался через while, но у меня получился бесконечный цикл пустой.
Как можно вывести четные числа без оператора if?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
class Pol
{
    static void Main()
    {
        Console.WriteLine("Укажите размерность массива от 1 до 10");
        int size = int.Parse(Console.ReadLine());
        double[] a_massiv = new double[size];
        for (int i = 0; i < a_massiv.Length; i++)
        {
            Console.Write($"Введите {i} значение массива ");
            a_massiv[i] = double.Parse(Console.ReadLine());
        }
        foreach (var v in a_massiv)
        {
            Console.WriteLine(v);
        }
        foreach (var q in a_massiv)
        {
            while (q % 2 == 0) { Console.WriteLine(q); }
        }
    }
}
0
2755 / 2770 / 545
Регистрация: 17.02.2019
Сообщений: 4,576
12.03.2023, 17:43 8
Лучший ответ Сообщение было отмечено ilushk как решение

Решение

ilushk, так пойдет
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
26
27
28
using System;
using System.Linq;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Укажите размерность массива от 1 до 10");
            int size = int.Parse(Console.ReadLine());
            double[] a_massiv = new double[size];
            for (int i = 0; i < a_massiv.Length; i++)
            {
                Console.Write($"Введите {i} значение массива ");
                a_massiv[i] = double.Parse(Console.ReadLine());
            }
 
            Console.WriteLine(string.Join(", ", a_massiv));
 
            double[] sort = a_massiv; // создаем копию массива
            Array.Sort(sort); // сортируем копию
            Console.WriteLine ("четные " + string.Join(", ", sort.Where(x => x % 2 == 0).ToArray().Select(x => x.ToString())));
            Console.WriteLine ("нечетные " + string.Join(", ", sort.Where(x => x % 2 != 0).ToArray().Select(x => x.ToString())));
            Console.ReadKey(true);
        }
    }
}
1
0 / 0 / 0
Регистрация: 05.10.2022
Сообщений: 21
12.03.2023, 18:31  [ТС] 9
Да, спасибо большое!
0
12.03.2023, 18:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2023, 18:31
Помогаю со студенческими работами здесь

Вывести сначала четные элементы в порядке возрастания индексов, затем нечетные в порядке убывания индексов
помогите плиииз!! Дан целочисленный массив размера N. Вывести вначале все содержащиеся в данном...

Массив. Вывести все четные в порядке возрастания их индексов,все нечетные в порядке их убывания
помогите, пожалуйста, решить задачи по массивам. очень нужно. полностью пропустила эту тему( 1.дан...

Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов, а также их количество
дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве нечетные числа в...

Программа, печатающая в порядке возрастания все чётные числа в интервале от n до m, затем в обратном порядке
Добрый день, помогите пожалуйста с заданием по Паскалю, заранее спасибо за ответ. Сама задача...

Вывести все содержащиеся в данном массиве нечетные числа в порядке возрастания их индексов, а также их количество K
язык С++ Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве нечетные...


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

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