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

Составить программу для изменения порядка следования элементов в массиве на противоположный

19.10.2014, 16:34. Показов 2472. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста, дорогие форумчане.
Дан одномерный массив, состоящий из n вещественных элементов.
Составить программу для изменения порядка следования элементов в массиве на противоположный.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.10.2014, 16:34
Ответы с готовыми решениями:

Изменения порядка следования элементов в массиве на противоположный
Дан одномерный массив, состоящий из n вещественных элементов. Составить программу для изменения...

Изменить порядок следования элементов в одномерном массиве на противоположный
Помогите написать программу, пожалуйста! Дан одномерный массив, состоящий из n вещественных...

Изменение порядка следования элементов в массиве так, чтобы сначала располагались все отрицательные элементы,
Дан одномерный массив, состоящий из n элементов (для нечетных вариантов массив состоит из...

Сформировать новый список путем изменения порядка следования элементов на противоположный относительно исходного списка
Написать программу которая формирует новый список путем изменения порядка следования элементов на...

18
74 / 74 / 30
Регистрация: 22.03.2013
Сообщений: 224
19.10.2014, 16:43 2
FAQ для студентов или школьников
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
19.10.2014, 17:17 3
это Array.Reverse вроде
0
870 / 720 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
19.10.2014, 17:22 4
asql,
Array.Reverse появилось только c .Net 3.5 так может и не подойти
0
Эксперт .NET
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
19.10.2014, 17:23 5
Цитата Сообщение от XRoy Посмотреть сообщение
Array.Reverse появилось только c .Net 3.5
.NET 1.0
1
870 / 720 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
19.10.2014, 17:26 6
kolorotur,
Да, вы правы, смутило что тут с 3.5 http://msdn.microsoft.com/ru-r... .110).aspx есть только документация, вот и подумал что ввели вместе с Linq
1
Эксперт .NET
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
19.10.2014, 17:53 7
Цитата Сообщение от XRoy Посмотреть сообщение
смутило что тут с 3.5 есть только документация
Да там вообще версии доков как-то странно показываются. Например, если смотреть статью в оригинале, то выбрать можно с 2.0.
Наверное, перевод только с 3.5 доступен.

А вот если прокрутить в самый низ, то ответ там:
.NET Framework
Поддерживается в версиях: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0
0
rattrapper
19.10.2014, 18:04
  #8

Не по теме:

Цитата Сообщение от kolorotur Посмотреть сообщение
Поддерживается в версиях: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0
А что, есть библиотеки, которые поддерживаются в 1.0 но не запустятся на 4.5???

0
Эксперт .NET
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
19.10.2014, 18:15 9
Цитата Сообщение от rattrapper Посмотреть сообщение
А что, есть библиотеки, которые поддерживаются в 1.0 но не запустятся на 4.5?
Насчет "не запустятся" — не знаю таких, но есть масса устаревших классов, которые в новых версиях фреймворка уже не поддерживаются, то есть официальную поддержку МС не предоставляет и баги не фиксит.
Вполне вероятно, что в будущих версиях некоторые из них будут вообще убраны. Хотя, зная МС, они это вряд ли сделают, но соломку подстелили
1
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 31
19.10.2014, 18:15  [ТС] 10
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
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        
            
        {
            int N = 10;
            int[] a = new int[N];
            Random random = new Random();
            int rand;
            for (int i = 0; i < N; i++)
            {
                rand = random.Next(0, 100);
                a[i] = rand;
            }
                          
Console.WriteLine("исходный массив:");
            for (int i = 0; i < N; i++) Console.Write(a[i] + " ");
            Console.WriteLine();
            Console.WriteLine("преобразованный массив:");
            Console.ReadLine();
        }
    }
}
Вот я составил код для создания одномерного массива.
Как мне изменить порядок элементов на обратный при помощи этого:
C#
1
2
3
4
5
6
7
8
9
10
11
public static int[] Reverse(int[] array)
        {
            var outArray = new int[array.Length];
            int j = 0;
            for (int i = array.Length - 1; i >= 0; i--)
            {
                outArray[j] = array[i];
                j++;
            }
            return outArray;
        }
0
Эксперт .NET
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
19.10.2014, 18:18 11
C#
1
a = Reverse(a);
0
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 31
19.10.2014, 18:22  [ТС] 12
Я не могу понять, как правильно связать две части кода, предложенные выше...Через что?
0
Эксперт .NET
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
19.10.2014, 18:25 13
Цитата Сообщение от Артём Леонтьев Посмотреть сообщение
Я не могу понять, как правильно связать две части кода, предложенные выше
Reverse — это такой же метод, как и Main.

Скопируйте и вставьте его в класс Program, а строку с вызовом этого метода вставьте после вывода "преобразованный массив:".
Ну и сам вывод допишите.
0
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 31
19.10.2014, 18:34  [ТС] 14
Ошибка 1 "ConsoleApplication1.Program.Main(string[])" должен объявлять тело, т.к. он не помечен модификатором abstract, extern, или partial C:\Users\Desktop\ЛАБА1МОЯ\ConsoleApplication1\ConsoleApplication1\Program.cs 10 21 ConsoleApplication1
Вот такая вот ошибка...

Добавлено через 1 минуту
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
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args);
        public static int[] Reverse(int[] array)
            
        {
            int N = 10;
            int[] a = new int[N];
            Random random = new Random();
            int rand;
            for (int i = 0; i < N; i++)
            {
                rand = random.Next(0, 100);
                a[i] = rand;
            }
                          
Console.WriteLine("исходный массив:");
            for (int i = 0; i < N; i++) Console.Write(a[i] + " ");
            Console.WriteLine();
            Console.WriteLine("преобразованный массив:");
            {
                var outArray = new int[array.Length];
                int j = 0;
                for (int i = array.Length - 1; i >= 0; i--)
                {
                    outArray[j] = array[i];
                    j++;
                }
                return outArray;
            }
            Console.ReadLine();
        }
    }
}
Что не так?
0
Эксперт .NET
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
19.10.2014, 18:38 15
Цитата Сообщение от Артём Леонтьев Посмотреть сообщение
Что не так?
Куда делась строчка public static int[] Reverse(int[] array)?
Куда делась строчка a = Reverse(a);?

Вы методы/функции уже проходили?
0
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 31
19.10.2014, 19:50  [ТС] 16
Проходили, но непонятно мне

Добавлено через 1 час 6 минут
Может, вы разберётесь в этой проблеме?
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
19.10.2014, 20:15 17
Лучший ответ Сообщение было отмечено Артём Леонтьев как решение

Решение

создаешь новый консольный проект в ВС
в Main вписываешь код
C#
1
2
3
4
5
6
7
8
9
int[] a = new int[10];
Random random = new Random();
for (int i = 0; i < a.Length; i++) { a[i] = random.Next(0, 100); }
Console.WriteLine("исходный массив:");
 for (int i = 0; i < a.Length; i++) Console.Write(a[i] + " ");
Console.WriteLine();
Console.WriteLine("преобразованный массив:");
Array.Reverse(a);
 for (int i = 0; i < a.Length; i++) Console.Write(a[i] + " ");
1
58 / 58 / 47
Регистрация: 16.09.2014
Сообщений: 158
19.10.2014, 20:49 18
Лучший ответ Сообщение было отмечено Артём Леонтьев как решение

Решение

Еще один пример Шилдта:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 int i, j;
            int []nums1=new int[10];
            int []nums2 = new int[10];
            for (i = 0; i < nums1.Length; i++)
            
                nums1[i] = i;
                Console.Write("Исходное содержимое массива :");
                for (i = 0; i < nums2.Length; i++)
                    Console.Write(nums1[i] + " " );
                Console.WriteLine();
            //скопировать nums1 в nums2
                for (i = 0, j = nums1.Length-1; i<nums1.Length;i++,j-- )
            nums2[j]=nums1[i];
                Console.Write(" coдержимое массива обратн порядок : ");
                for (i = 0; i < nums2.Length; i++)
                    Console.Write(nums2[i] + " ");
                    Console.ReadLine();
0
Эксперт .NET
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
20.10.2014, 11:47 19
Лучший ответ Сообщение было отмечено Артём Леонтьев как решение

Решение

Ну и, конечно, если надо изменить именно исходный массив:
C#
1
2
3
4
5
6
7
int i = 0, j = arr.Length - 1;
while (i < j)
{
    int t = arr[i];
    arr[i++] = arr[j];
    arr[j--] = t;
}
0
20.10.2014, 11:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2014, 11:47
Помогаю со студенческими работами здесь

Написать программу изменения порядка следования элементов динамического массива в обратном порядке
Написать программу изменения порядка следования элементов динамического массива в обратном порядке

Составить программу, которая меняет порядок следования элементов в массиве на обратный для линейных таблиц Х[12] и Y[10]
Составить программу, которая меняет порядок следования элементов в массиве на обратный для линейных...

Как поменять порядок следования элементов в массиве на противоположный?
Есть код: #include &lt;iostream&gt; #include &lt;ctime&gt; using namespace std; int kontrmas(int mass,int...

Удалить дубликаты без изменения порядка следования элементов
можно ли это сделать средствами stl эффективней? std::vector&lt;int&gt; vec = { 31,2,...


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

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