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

Почему при переворачивании матрицы берётся N/2?

04.11.2019, 22:44. Показов 476. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано натуральное число n, массив целых чисел размера n*n. Преобразовать массив, осуществив поворот элементов вокруг центра на 90 градусов против часовой стрелки.
Почему после строчки // printf("Перевёрнутая матрица\n"); в for'e берётся N/2? (38 строчка)

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
int main() 
{ 
 
setlocale(LC_ALL, "rus"); 
srand(time(0)); 
 
int i, j, temp, N, M; 
printf("Введите размер квадратной матрицы:"); 
scanf_s("%d", &N); 
M = 0; 
M = N; 
int** arr = new int* [N]; 
 
for (int count = 0; count < N; count++) 
arr[count] = new int[M]; 
 
for (i = 0; i < N; i++) 
{ 
for (j = 0; j < M; j++) 
{ 
arr[i][j] = rand() % 100; 
printf("%5d", arr[i][j]); 
} 
printf("\n"); 
} 
 
 
for (i = 0; i < N; i++) 
for (j = i; j < N; j++) 
{ 
temp = arr[i][j]; 
arr[i][j] = arr[j][i]; 
arr[j][i] = temp; 
} 
printf("\n"); 
 
printf("Перевёрнутая матрица\n"); 
for (j = 0; j < N / 2; j++) 
for (i = 0; i < N; i++) 
{ 
temp = arr[j][i]; 
arr[j][i] = arr[N - j - 1][i]; 
arr[N - j - 1][i] = temp; 
} 
printf("\n"); 
 
for (j = 0; j < N; j++) 
{ 
for (i = 0; i < N; i++) 
printf("%5d", arr[j][i]); 
printf("\n"); 
} 
printf("\n"); 
 
 
delete[] arr; 
 
system("pause"); 
return 0; 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2019, 22:44
Ответы с готовыми решениями:

Почему при переворачивании матрицы берётся N/2?
Дано натуральное число n, массив целых чисел размера n*n. Преобразовать массив, осуществив поворот...

Почему берется исключение при парсинге
Столкнулся с такой проблемой, есть у меня код, в 13 студии он работает нормально, нет никаких...

Программа сбрасывается в начальную форму при переворачивании экрана
Всем привет. У меня след. проблема. Моя программа показывает начальную форму при переворачивании...

Почему не берётся значение из БД?
В проекте Visual Studio 2012 есть форма, на котоорой по идее должен отображаться список из БД. ...

1
Мозгоправ
1744 / 1038 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
05.11.2019, 09:06 2
Потому что меняются местами элементы, находящиеся на одинаковом расстоянии от начала и конца массива. Т.е. в цикле нужно пройтись только до середины. Поэтому N/2.
1
05.11.2019, 09:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2019, 09:06
Помогаю со студенческими работами здесь

Почему не берется необходимый массив?
Есть код,который должен выводить определенное число массива. my_list= z = input()...

Почему не значение из переменой не берется из формы 2 в форму 3
public partial class Form2 : Form { public string text=&quot;smth&quot;; } public...

При переворачивании массивов выходят такие цифры: "-858993469". Как с этим бороться?
постоянно сталкиваюсь с такой проблемой: при переворачивании массивов выходят такие цифры: вот...

почему в уравнении эйнштейна для внешнего фотоэффекта скорость берется максимальная?
почему в уравнении эйнштейна для внешнего фотоэффекта скорость берется максимальная?


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

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