IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Двумерные массивы., Помогите исправить ошибки.
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Женский

Репутация: -  0  +


Исправьте пожалуйста ошибки в прогах,если они есть.
У меня не работает паскаль и я буду очень признательна,если кто-нибудь закинет мне в него проги и даст ссылочки.ПЛЗ!

1. Дан 2-х мерный массив, поменять местами указанные столбцы.
2. Дан 2-х мерный квадратный массив. требуется вывести на экран строку чисел, но не по порядку, а по змейке. см. пример: массив
1 2 3
4 5 6
7 8 9
результат вывода на экран
1 2 3 6 9 8 7 4 5

Препод написал,что они у него не запускаются.

Первая.
 const
n = 3;
a: array[1 .. n, 1 .. n] of integer =
((1, 2, 3),
(4, 5, 6),
(7, 8, 9));

var
i, j: integer;
first, second: integer;
T: integer;

begin
{ Stolbez s nomerom First pomeniat' mestami so stolbzom s nomerom Second }
first := 1; second := 2;

writeln('Do:');
for i := 1 to n do begin
for j := 1 to n do
write(a[i, j]:4);
writeln;
end;

for i := 1 to n do begin
T := a[i, first];
a[i, first] := a[i, second];
a[i, second] := T;
end;

writeln('Posle:');

for i := 1 to n do begin
for j := 1 to n do
write(a[i, j]:4);
writeln;
end;

end.



Вторая.

 const
n = 3;
a: array[1 .. n, 1 .. n] of integer =
((1, 2, 3),
(4, 5, 6),
(7, 8, 9));

var
steps: array[1 .. 2*n - 1] of byte;

var
i, j, ii, jj: integer;

begin
j := 0;
for i := 2*n-1 downto 1 do begin
if odd(i) then inc(j);
steps[i] := j
end;

j := 0;
ii := 1; jj := 0;
repeat

if j < 2*n-1 then begin
inc(j);
for i := 1 to steps[j] do begin
inc(jj); write(a[ii, jj]:5);
end;
end;

if j < 2*n-1 then begin
inc(j);
for i := 1 to steps[j] do begin
inc(ii); write(a[ii, jj]:5);
end;
end;

if j < 2*n-1 then begin
inc(j);
for i := 1 to steps[j] do begin
dec(jj); write(a[ii, jj]:5);
end;
end;

if j < 2*n-1 then begin
inc(j);
for i := 1 to steps[j] do begin
dec(ii); write(a[ii, jj]:5);
end;
end;

until j = (2*n - 1);
writeln;

end.



Сообщение отредактировано: Carola -


--------------------
°in the game of seduction, there is only one rule:never fall in love°
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Carola, так как эти решения писал я здесь:
Двумерный массив. Две задачи, то могу тебя уверить, что если бы они не запускались, я бы их не выложил... Вот лог работы первой программы:
Цитата
Turbo Pascal Version 7.0 Copyright © 1983,92 Borland International
До:
1 2 3
4 5 6
7 8 9
После:
2 1 3
5 4 6
8 7 9


А вот - для второй:
Цитата
Turbo Pascal Version 7.0 Copyright © 1983,92 Borland International
1 2 3 6 9 8 7 4 5


Я не знаю, что нужно преподавателю, но они обе прекрасно работают...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 13.09.2025 14:53
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name