Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/180: Рейтинг темы: голосов - 180, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 20

Дан массив размера N. Вывести его элементы в обратном порядке

18.01.2012, 14:45. Показов 37923. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1. Дан массив размера N. Вывести его элементы в обратном порядке.
2. Дан массив размера N. Найти два соседних элемента, сумма которых
максимальна, и вывести эти элементы в порядке возрастания их индексов.
3. Дан массив A размера N. Сформировать новый массив B того же размера по
следующему правилу: элемент BK равен среднему арифметическому элементов
массива A с номерами от K до N.
4. Дана матрица размера M × N. Продублировать строку матрицы,
содержащую ее максимальный элемент.

 Комментарий модератора 
Внимательно выбирайте раздел форума, в котором собираетесь разместить свою тему!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.01.2012, 14:45
Ответы с готовыми решениями:

Дан массив размера N. Вывести его элементы в обратном порядке
Array 7. Дан массив размера N. Вывести его элементы в обратном порядке.

Дан массив размера N. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальны
Дан массив размера N. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами,...

Дан массив A размера N. Вывести его элементы в заданном порядке
Народ, помогите решить задачку, очень надо. Дан массив A размера N. Вывести его элементы в следующем порядке: A1, A2, AN, ...

19
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
18.01.2012, 14:56
Цитата Сообщение от ellipse Посмотреть сообщение
1. Дан массив размера N. Вывести его элементы в обратном порядке.
C#
1
2
3
4
int[] arr = {1, 2, 3, 4, 5};
Array.Reverse(arr);
foreach (int x in arr)
   Console.Write(x + " ");
Цитата Сообщение от ellipse Посмотреть сообщение
Дан массив размера N. Найти два соседних элемента, сумма которых
максимальна, и вывести эти элементы в порядке возрастания их индексов.
C#
1
2
3
4
5
6
7
8
9
10
11
int[] arr = {1, 2, 3, 4, 5, 3, 4};
int max = Int32.MinValue, pos = -1;
for (int i = 0; i < arr.Length - 1; ++i)
{
    if ( arr[i] + arr[i + 1] > max )
    {
        max = arr[i] + arr[i + 1];
        pos = i;
    }
}
Console.WriteLine("{0} {1}", arr[pos], arr[pos + 1]);
2
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
18.01.2012, 15:48
3.
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
43
44
45
using System;
 
class MainClass
{
    static double[] RandArray(int size, double lowerBound, double upperBound)
    {
        double[] arr = new double[size];
        Random rand = new Random();
 
        for (int i = 0; i < size; ++i)
            arr[i] = lowerBound + (upperBound - lowerBound) * rand.NextDouble();
 
        return arr;
    }
 
    static void PrintArray(double[] arr)
    {
        foreach (double x in arr)
            Console.Write(x + "  ");
 
        Console.WriteLine();
    }
 
    static void Main()
    {
        const int size = 5;
 
        double[] arr1 = RandArray(size, 0, 100);
        double[] arr2 = new double[size];
 
        PrintArray(arr1);
 
        for (int i = 0; i < size; ++i)
        {
            double sum = 0;
 
            for (int j = i; j < size; ++j)
                sum += arr1[j];
 
            arr2[i] = sum / (size - i);
        }
 
        PrintArray(arr2);
    }
}
1
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 20
18.01.2012, 21:25  [ТС]
Ничего из этого не работает(
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
18.01.2012, 21:27
ellipse, беда...
1
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 20
18.01.2012, 21:30  [ТС]
silent_1991, можешь попробывать первые две решить)
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
18.01.2012, 21:31
ellipse, первые две уже решены. Вам остаётся затолкать их в метод Main и откомпилировать.
1
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 20
18.01.2012, 21:33  [ТС]
silent_1991, Знал бы я,что это такое)
А можете написать сразу готовое,чтобы вставить и ответ получить) А то я глупенький)
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
18.01.2012, 21:36
C#
1
2
3
4
5
6
7
8
9
10
11
12
using System;
 
class MainClass
{
    static void Main()
    {
        int[] arr = {1, 2, 3, 4, 5};
        Array.Reverse(arr);
        foreach (int x in arr)
            Console.Write(x + " ");
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
 
class MainClass
{
    static void Main()
    {
        int[] arr = {1, 2, 3, 4, 5, 3, 4};
        int max = Int32.MinValue, pos = -1;
        for (int i = 0; i < arr.Length - 1; ++i)
        {
            if ( arr[i] + arr[i + 1] > max )
            {
                max = arr[i] + arr[i + 1];
                pos = i;
            }
        }
        Console.WriteLine("{0} {1}", arr[pos], arr[pos + 1]);
    }
}
2
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
18.01.2012, 21:36
1
C#
1
2
3
4
int[] array = { 1, 2, 3, 4, 5 };
for (int i = array.Length - 1; i >= 0; --i)
    Console.Write(array[i] + " ");
Console.ReadKey(true);
2
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 20
18.01.2012, 21:48  [ТС]
silent_1991, Большое спасибо))

Добавлено через 9 минут
silent_1991, Такая проблема.Вставляю это все дело в C#,а черный квадратик не появляется где должен быть ответ.В чем проблема?)
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
18.01.2012, 21:56
Цитата Сообщение от ellipse Посмотреть сообщение
черный квадратик

Цитата Сообщение от ellipse Посмотреть сообщение
В чем проблема?
Запускайте по Ctrl+F5.
0
Амурчанка
 Аватар для tantemka
136 / 136 / 44
Регистрация: 07.11.2011
Сообщений: 279
18.01.2012, 21:57
ellipse, добавьте в конец кода строку
C#
1
Console.ReadKey();
1
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 20
19.01.2012, 12:25  [ТС]
tantemka, Спасибо,вот теперь получилось)

Добавлено через 13 часов 37 минут
tantemka,
silent_1991,
Можите помочь разобратся в этих прогах,мне просто их нужно объяснить)что да как)
0
Амурчанка
 Аватар для tantemka
136 / 136 / 44
Регистрация: 07.11.2011
Сообщений: 279
19.01.2012, 12:42
ellipse, тыкнете пальцем, что вам не понятно
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
19.01.2012, 17:14
ellipse,
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using System;
 
class MainClass
{
    // Метод, генерирующий массив заданного размера size, заполненный случайными
    // числами, каждое в пределах от lowerBound до upperBound
    static double[] RandArray(int size, double lowerBound, double upperBound)
    {
        // Результирующий массив
        double[] arr = new double[size];
        // Генератор случайных чисел
        Random rand = new Random();
 
        // Гененрируем для каждого элемента массива случайное число
        for (int i = 0; i < size; ++i)
            arr[i] = lowerBound + (upperBound - lowerBound) * rand.NextDouble();
 
        // Возвращаем заполненный массив
        return arr;
    }
 
    // Метод, распечатывающий массив
    static void PrintArray(double[] arr)
    {
        // Распечатываем каждый элемент массива
        foreach (double x in arr)
            Console.Write(x + "  ");
 
        // Переводим каретку
        Console.WriteLine();
    }
 
    static void Main()
    {
        // Размер массива
        const int size = 5;
 
        // Генерируем массив
        double[] arr1 = RandArray(size, 0, 100);
        // Создаём результирующий массив
        double[] arr2 = new double[size];
 
        // Распечатываем сгенерированный массив
        PrintArray(arr1);
 
        // Идём по результирующему массиву
        for (int i = 0; i < size; ++i)
        {
            // Переменная-аккумулятор суммы элементов
            double sum = 0;
 
            // Идём по части исходного массива
            for (int j = i; j < size; ++j)
                // Накапливаем сумму элементов
                sum += arr1[j];
 
            // В конуретный элемент результирующего массива записываем среднее
            // арифметическое элементов исходного
            arr2[i] = sum / (size - i);
        }
 
        // Распечатываем полученный массив
        PrintArray(arr2);
    }
}
0
 Аватар для xadjek
36 / 36 / 14
Регистрация: 05.06.2011
Сообщений: 306
19.01.2012, 22:13
ну или либо так(первая задача):
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Введите размер массива: ");
            int N=Convert.ToInt16(Console.ReadLine());
            int[] A =new int[N];
            for (int i = 0; i < N; i++)
            {
                Console.Write("Введите элемент A[{0}]: ",i);
                A[i] = Convert.ToInt16(Console.ReadLine());
            }
            Array.Reverse(A);
            foreach (int x in A)
                Console.Write(x + " ");
            Console.Read();
        }
    }
}
З.Ы. можно спокойно запускать по F5-окошко без нажатия клавиши не закроется. Добавлен ввод размера массива и поэлементный ввод массива.
З.З.Ы. Просьба не кидаться помидорами за ненужный баян-просто для себя писал-тренировался, т.к. только учу язык.
0
0 / 0 / 0
Регистрация: 29.12.2016
Сообщений: 3
19.01.2017, 19:16
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
byte n = Convert.ToByte(Console.ReadLine());
byte[] arr = new byte[n];
Random rnd = new Random();
 
for (byte i = 0; i < arr.Length; i++)
{
    arr[i] = Convert.ToByte(rnd.Next(10));
    Console.Write("{0}\t", arr[i]);
}
 
Console.WriteLine("\n------------------------------------------");
 
for (sbyte i = Convert.ToSByte(arr.Length - 1); i >= 0 ; --i)
{
    Console.Write("{0}\t", arr[i]);
}
Добавлено через 58 секунд
Цитата Сообщение от Петррр Посмотреть сообщение
array.Length
Зачем нужно использовать "-1"?
0
.NET senior
 Аватар для bax_tang
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
19.01.2017, 21:21
Цитата Сообщение от euppi98 Посмотреть сообщение
Зачем нужно использовать "-1"
Чтобы не словить IndexOutOfRangeException из-за выхода на границы массива, т. к. индексация элементов начинается с нуля => у массива длиной 5 элементов максимальный индекс будет равен Length - 1 = 5 - 1 = 4.
0
 Аватар для ata
269 / 253 / 186
Регистрация: 28.10.2015
Сообщений: 723
20.01.2017, 02:34
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
using System.Linq;
 
class Program
{
    public static void Main()
    {
        int n = 10;
        int[] a = Enumerable.Repeat(new Random(), n).Select(r => r.Next(100)).ToArray();
        Console.WriteLine(String.Join(", ", a.Reverse()));
        int m = Enumerable.Range(0, a.Length - 1).OrderByDescending(i => a[i] + a[i + 1]).First();
        Console.WriteLine("Max sum: {0}, {1}", a[m], a[m + 1]);
        double[] b = Enumerable.Range(0, a.Length).Select(i => a.Skip(i).Average()).ToArray();
        Console.WriteLine(String.Join(", ", b));
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.01.2017, 02:34
Помогаю со студенческими работами здесь

Дан массив размера N. Вывести его элементы в обратном порядке.
N=7 2.99 8.20 1.93 1.36 8.46 5.42 6.76

Дан массив размера N. вывести его элементы в обратном порядке
дан массив размера N. вывести его элементы в обратном порядке

Дан массив размера N, вывести его элементы в обратном порядке
Array. Дан массив размера N. Вывести его элементы в обратном порядке.

Дан массив размера N Вывести его элементы в обратном порядке
1.Дан массив размера N. Вывести его элементы в обратном порядке.

Дан массив размера N. Вывести его элементы в обратном порядке
Новичок в Сишарпе. Дан массив размера N. Вывести его элементы в обратном порядке. C#, сделать в Windows Forms, не консоль. Буду благодарен.


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru