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

В заданном двумерном массиве размером N×N поменять местами элементы

20.05.2017, 22:07. Показов 2784. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В заданном двумерном массиве размером N×N поменять местами элементы, расположенные в верхней и нижней частях массива, между главной и побочной диагоналями за исключением элементов, расположенных на этих диагоналях.

Добавлено через 57 минут
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
Console.WriteLine("Введите размерность: ");
            int N = Convert.ToInt32(Console.ReadLine());
           
            int[,] mass = new int[N, N];
            Random random = new Random();
 
            Console.WriteLine("Исходная мартица");
            Console.WriteLine();
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < N; j++)
                {
                    mass[i, j] = random.Next(0, 100);
                    Console.Write(mass[i, j] + "\t");
                }
                Console.WriteLine();
            }
 
            Console.WriteLine();
            Console.WriteLine();
 
            int[,] rez = new int[N, N];
 
            Console.WriteLine("Результирующая мартица");
            Console.WriteLine();
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < N; j++)
                {
                    rez[i, j] = mass[N - j - 1 , N - i - 1];
                    Console.Write(rez[i, j] + "\t");
                }
                Console.WriteLine();
            }
 
            Console.ReadLine();

Можно таким кодом, не получается придумать алгоритм вот такого типа (rez[i, j] = mass[N - j - 1 , N - i - 1]; )

Добавлено через 1 час 53 минуты
rez[i, j] = mass[N - j - 1 , N - i - 1] . Этот алгоритм позволяет поменять местами симметричные относительно побочной диагонали элементы местами

Добавлено через 3 часа 13 минут
Мб поможет кто?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2017, 22:07
Ответы с готовыми решениями:

B заданном одномерном массиве размером N поменять местами первый и последний положительные элементы
5. В заданном одномерном массиве размером N поменять местами первый и последний положительные...

В массиве размером n поменять местами элементы
В массиве размером n поменять местами элементы a и а. Подскажите как правильно написать цикл....

Поменять местами в двумерном массиве противоположные элементы
кому не сложно , помогите, пожалуйста, очень надо! Заранее благодарен!!

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

3
644 / 528 / 324
Регистрация: 20.05.2015
Сообщений: 1,469
20.05.2017, 22:49 2
Как-то так если я не ошибся:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
            
for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < N; j++)
                {
                    if ((i>j)&&(N-i-1>j)||(j>i)&&(N-j-1>i))
                    rez[i, j] = mass[N - j - 1 , N - i - 1];
                    else
                          rez[i, j]=mass[i,j]
                    Console.Write(rez[i, j] + "\t");
                }
                Console.WriteLine();
            }
0
0 / 0 / 0
Регистрация: 20.05.2017
Сообщений: 4
21.05.2017, 00:00  [ТС] 3
Нет, это неправильный алгоритм
0
3564 / 2505 / 1174
Регистрация: 14.08.2016
Сообщений: 8,213
21.05.2017, 00:39 4
Лучший ответ Сообщение было отмечено danishka12 как решение

Решение

Кликните здесь для просмотра всего текста
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
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Text.RegularExpressions;
 
namespace ConsoleApplication5
{
    class Program
    {
        static Random rnd = new Random();
        static void Main(string[] args)
        {
            int n = 5;
            int[,] array = new int[5, 5];
            Console.WriteLine("before:");
            for(int i = 0; i < array.GetLength(0); i++)
            {
                for(int j = 0; j < array.GetLength(1); j++)
                {
                    Console.Write((array[i,j] = rnd.Next(1,10)) + " ");
                }
                Console.WriteLine();
            }
            for(int i = 0; i < array.GetLength(0); i++)
            {
                for(int j = i+1; j < array.GetLength(1) - i - 1; j++)
                {
                    int tmp = array[i, j];
                    array[i, j] = array[array.GetLength(0) - i - 1, j];
                    array[array.GetLength(0) - i - 1, j] = tmp;
                }
            }
            Console.WriteLine("after:");
            for(int i = 0; i < array.GetLength(0); i++)
            {
                for(int j = 0; j < array.GetLength(1); j++)
                {
                    Console.Write(array[i, j]+ " ");
                }
                Console.WriteLine();
            }
            Console.ReadKey(true);
        }
    }
}

оформлять в виде методов лень, это тебе домашнее задание
1
21.05.2017, 00:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2017, 00:39
Помогаю со студенческими работами здесь

В заданном одномерном массиве поменять местами соседние элементы
В заданном одномерном массиве поменять местами соседние элементы, стоящие на чётных местах, с...

В заданном массиве A[N] поменять местами наибольший и наименьший элементы
Ребята ПОМОГИТЕ ПОЖАЛУЙСТА!!!! Завтра последний день закрытия лабы по Алгоритмическим языкам(( в...

Поменять местами столбцы в двумерном массиве
} } static void SortСolumn(int columnmas) { for (int i = 0;...

Поменять местами строки в двумерном массиве
} static void SortLine(int linemas) { for (int i = 1; i &lt;...


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

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