0 / 0 / 0
Регистрация: 24.10.2017
Сообщений: 1
|
|
1 | |
Заполнить матрицу натуральными числами змейкой по диагонали24.10.2017, 16:44. Показов 4862. Ответов 4
Метки нет (Все метки)
Помогите с задачей
Входные данные Входная строка содержит числа N и M , разделённые пробелом Выходные данные Программа должна вывести матрицу, заполненную заданным способом. Примеры входные данные 4 5 выходные данные 1 3 4 10 11 2 5 9 12 17 6 8 13 16 18 7 14 15 19 20 Добавлено через 24 минуты Вот один тип змейки, аля вниз-право-вверх 1 8 9 16 17 2 7 10 15 18 3 6 11 14 19 4 5 12 13 20 #include <iostream> using namespace std; int main() { int a[101][101],s,h,i,j; cin>>s>>h; for(i=1;i<=s;i++) for(j=1;j<=h;j++) if (j%2==0) a[i][j]=j*s-i+1; else if (j%2!=0) a[i][j]=(j-1)*s+i; for(i=1;i<=s;i++) { for(j=1;j<=h;j++) cout<<a[i][j]<<" "; cout<<endl; } cin.get(); cin.get(); return 0; } Помогите перевести эту программу в тип: 1 3 4 10 11 2 5 9 12 17 6 8 13 16 18 7 14 15 19 20
0
|
24.10.2017, 16:44 | |
Ответы с готовыми решениями:
4
Заполните матрицу натуральными числами по спирали и змейкой Заполнить матрицу последовательными натуральными числами Заполнить квадратную матрицу натуральными числами по спирали Заполнить матрицу целыми числами, начиная с 0, по возрастанию змейкой |
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
|
||||||
24.10.2017, 21:27 | 2 | |||||
DenisCherkisov, здравствуйте! Я решил вашу проблему, но, так как торопился, условия после спуска и подъема в матрице получились довольно громоздкими. Однако, задача прошла все тесты. Если вам нужно меньше кода, пишите, я подумаю, что можно сделать. Кстати, если кто-то найдет более простые условия после спуска и подъема (смотреть комментарии) буду премного благодарен!
Мой код:
1
|
299 / 208 / 174
Регистрация: 11.05.2016
Сообщений: 655
|
||||||
25.10.2017, 00:16 | 3 | |||||
Можно как-то так еще:
0
|
25.10.2017, 01:05 | 4 | |||||
Ну, если времени не жалко, можно и 100500 строк с if-ами написать, а можно весь код уложить в десяток строк.
0
|
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
|
||||||
25.10.2017, 17:45 | 5 | |||||
Kuzia domovenok, здравствуйте! Спасибо за ваше замечание. Эту задачу решаю во второй раз за все изучение С++. Первый мой вариант намного хуже. Других методов решения таких задач пока не знаю. Вот, что удалось сделать с моим кодом выше (теперь, вроде, смотрится более элегантно):
0
|
25.10.2017, 17:45 | |
25.10.2017, 17:45 | |
Помогаю со студенческими работами здесь
5
Улитка.Матрицу M (m,n) заполнить натуральными числами от 1 до m*n по спирали, начинающей в левом верх Заполнить матрицу 9x9 случайными числами. Отобразить матрицу симметрично относительно главной диагонали Заполнить матрицу числами по диагонали Заполнить квадратную матрицу змейкой по диагонали, начиная с элемента matrix[size-1][size-1] Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |