Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Написать такой массив

Автор: Kluivert 2.05.2006 22:52

Я в программировании не секу, хотел попросить у вас помощи, мне надо написать программу, чтобы на экране выводились такие числа:
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 25

Автор: volvo 2.05.2006 23:30

Ну, ты бы хоть для приличия поискал на форуме про "змейку", например... Уже решалось ведь.

Вот так, например: http://forum.pascal.net.ru/index.php?s=&showtopic=10531&view=findpost&p=67526 (только там змейка начинается снизу... Подправишь сам, раз не хочешь пользоваться поиском)

Автор: Kluivert 3.05.2006 3:12

volvo
Извини, не знал как в поиск вбить то что надо было, спасибо, попробую

Автор: Kluivert 3.05.2006 18:04

volvo

Цитата
Подправишь сам

Не могли бы вы помочь подправить, сам не смогу т.к. не владею языком !mol1.gif

Автор: Бравый генерал 4.05.2006 23:11

А есть хоть какие-то входные данные? Например, ширина-высота матрицы? Или на экран просто должны вывестись эти 25 чисел?

Цитата
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 25

Автор: volvo 4.05.2006 23:36

Цитата(Kluivert @ 3.05.2006 14:04)
Не могли бы вы помочь подправить, сам не смогу т.к. не владею языком

const n = 5;
var
a: array[1 .. n, 1 .. n] of real;
add: array[false .. true] of integer = (-1, 1);
i, j, k, count: integer;

begin
j := 0; count := 1; { <--- Исправление первое }
for i := 1 to n do begin { <--- Исправление второе }
inc(j, add[odd(i)]);
for k := 1 to n do begin
a[i, j] := count; inc(count);
inc(j, add[odd(i)]);
end;
end;

for i := 1 to n do begin
for j := 1 to n do
write(a[i, j]:4:0);
writeln;
end;
readln;
end.
Неужели это настолько сложно ?

Автор: Kluivert 5.05.2006 14:13

Бравый генерал
да безразницы
volvo
Спасибо, выручил