Сформировать квадратную матрицу

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
allexey
Сообщения: 8
Зарегистрирован: 13 июн 2013, 11:30

13 июн 2013, 11:36

Сформировать квадратную матрицу порядка n по заданному образцу
2 1 1 … 1 1 1
0 2 1 … 1 1 1
0 0 2 … 1 1 1
……………..
0 0 0 … 0 2 1
0 0 0 … 0 0 2
allexey
Сообщения: 8
Зарегистрирован: 13 июн 2013, 11:30

13 июн 2013, 11:54

Program kv_matr;
uses crt;
const n=15;
var a:array[1..n] of integer;
i, j :integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
begin
if j=1 then a[i,j]:=2
else if j>1 then a[i,j]:=1
else a[i,j]:=0;
write (a[i,j]:2);
end;
writeln;
readln;
end.

Выдает ошибку. что здесь не так?
Аватара пользователя
somewhere
Сообщения: 1837
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

13 июн 2013, 12:26

Выдает ошибку. что здесь не так?
Массив объявлен как одномерный. А еще есть ошибки в логике
It's a long way to the top if you wanna rock'n'roll
allexey
Сообщения: 8
Зарегистрирован: 13 июн 2013, 11:30

13 июн 2013, 12:36

можешь исправить?
Аватара пользователя
somewhere
Сообщения: 1837
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

13 июн 2013, 12:40

можешь исправить?
Могу конечно)) Только я запрограммирован исправлять только одну ошибку для одного задания - выбирай какую ;)
It's a long way to the top if you wanna rock'n'roll
allexey
Сообщения: 8
Зарегистрирован: 13 июн 2013, 11:30

13 июн 2013, 12:55

ошибки в логике)
Program kv_matr;
uses crt;
const n=15;
var a:array[1..n, 1..n] of integer;
i, j :integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
begin
if j=1 then a[i,j]:=2
else if j>1 then a[i,j]:=1
else a[i,j]:=0;
write (a[i,j]:2);
end;
writeln;
end;
readln;
end.
allexey
Сообщения: 8
Зарегистрирован: 13 июн 2013, 11:30

13 июн 2013, 13:08

получается
211111111111111
211111111111111
211111111111111
211111111111111
211111111111111
211111111111111
211111111111111
211111111111111
211111111111111
211111111111111
211111111111111
211111111111111
211111111111111
allexey
Сообщения: 8
Зарегистрирован: 13 июн 2013, 11:30

13 июн 2013, 13:09

а надо по другому
2 1 1 … 1 1 1
0 2 1 … 1 1 1
0 0 2 … 1 1 1
……………..
0 0 0 … 0 2 1
0 0 0 … 0 0 2
Аватара пользователя
somewhere
Сообщения: 1837
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

13 июн 2013, 13:39

[syntax=delphi]
Program kv_matr;
uses crt;
const n=15;
var a:array[1..n, 1..n] of integer;
i, j :integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
begin
if j=i then a[i,j]:=2
else if j>i then a[i,j]:=1
else a[i,j]:=0;
write (a[i,j]:2);
end;
writeln;
end;
readln;
end.[/syntax]
It's a long way to the top if you wanna rock'n'roll
Ответить