приветы!
вот на сдаче сессии не могу разобраться с лабораторной по Pascal на тему Массивы и индексированные переменные.
P.S отдельное спасибо
charodey_mag за помощь в этой лабораторной!!!
Само задание выглядит так:
Цитата | Quote
{2.11. VAR A:ARRAY[1..8,1..10] OF INTEGER;
B:ARRAY[1..8] OF BOOLEAN;
по массиву А получить массив В, присвоив его k-му эле-
менту значение TRUE, если выполнено указанное ниже ус-
ловие, и значение FALSE - иначе: k-я строка массива А
симметрична.}
я вот нарешал тут кой-чо, но это все как бы выходит недоделанно и как бы возможно соединить из нескольких программ в одну придется, только я не справлюсь с этим никак =(
сначала я сделал как процедуру, но это не вписалось в задание:
Code
procedure Check211;
VAR A:ARRAY[1..8,1..10] OF INTEGER;
B:ARRAY[1..8] OF BOOLEAN;
i,k:integer;
tb:boolean;
begin
for i:=1 to 8 do
begin
tb:=true;
for k:=1 to 5 do
if A[i,k]<>A[i,11-k] then
begin
tb:=false;
break;
end;
B[i]:=tb;
end;
end;
...потом из эту же процедуру переписал как программу, чтобы был вывод результата, но это опять не понравилось преподавателю и я так понял вывод результата не тут и не такой:
Code
program lab62;
uses crt;
VAR A:ARRAY[1..8,1..10] OF INTEGER;
B:ARRAY[1..8] OF BOOLEAN;
i,k:integer;
tb:boolean;
begin
clrscr;
for i:=1 to 8 do
begin
tb:=true;
for k:=1 to 5 do
if A[i,k]<>A[i,11-k] then
begin
tb:=false;
break;
end;
B[i]:=tb;
end;
writeln(tb);
end.
вот последний вариант переделанный мною уже получше, но тут не указана симметричность (k-я строка массива А симметрична):
Code
program lab62;
uses crt;
VAR A:ARRAY[1..8,1..10] OF INTEGER;
B:ARRAY[1..8] OF BOOLEAN;
i,k:integer;
tb:boolean;
begin
clrscr;
for i:=1 to 8 do
begin
tb:=true;
for k:=1 to 5 do
if A[i,k]<>A[i,11-k] then
begin
tb:=false;
break;
end;
B[i]:=tb;
end;
writeln(tb);
end.