нада срочна 2 задачки,
1. Дана квадратная матрица А, порядка n. Проверить является ли она единичной.
вот я к ней цикл сделал:
for i : = 1 to n do
if a[i,i] = 1 then begin
a[i,i] : = 0;
for j : = 1 to n do
if a[i,j] <> 0 then begin
Writeln('matriza edini4na')
else
Exit;
1. хочешь сказать, что это правильно работает?
да и вообще... какое ты имеешь право менять матрицу?
2. n заранее известно? или как повезет?
чем можно пользоваться? строки, массивы...
1. эт мне препод сказал пройтись таким циклом.
2. n неизвестно(вводится вручную), а пользоваться па ходу массивами
begin
ok := true;
for i := 1 to n do
for j := 1 to n do
ok := ok and
(((i = j) and (a[i, j] = 1)) or ((i <> j) and (a[i, j] = 0)));
writeln(ok);
end.
1. Как вариант - с циклом while, чтобы остановить проверку, как только попадется нарушающий единичность элемент.
ну, для небольших чисел:
program cifri;
var chislo:longint;
i:byte; {при желании, можно и без нее обойтись... но для наглядности пусть будет}
ar: array[0..9]of integer; {сюда будем записывать, сколько раз встречаются цифры}
begin
for i:=0 to 9 do {обнуляем массив}
ar[i]:=0;
writeln('chislo?');
readln(chislo);
while chislo>0 do {выделяем разряды и считаем}
begin
inc(ar[chislo mod 10]);
chislo:=chislo div 10;
end;
i:=0;
while (i<9) and (ar[i]<>3) do
inc(i);
if ar[i]=3 then
writeln('YES!!!')
else
writeln('NO!!!');
readln;
end.
всё, всем псб
to мисс_граффити
Извени, прост я тороплюсь.Поэтому создал новую тему
Вот что с тем кодом, который выше, сделали мои кривые ручки :
uses
crt;
type
gas=Array[1..10,1..10] of integer;
var
ok:boolean;
i,n,j:byte;
a:integer;
Begin
clrscr;
Writeln('vvedite n');
readln (n);
for i:=1 to n do
for j:=1 to n do
readln(a[i,j]);
end;
begin
ok := true;
for i := 1 to n do
for j := 1 to n do
ok := ok and
(((i = j) and (a[i, j] = 1)) or ((i <> j) and (a[i, j] = 0)));
writeln(ok);
end.
readkey;
end.
А почему а - integer ?
я вижу, что она не компилируется.
...что вполне естественно:
a:integer;
...
readln(a[i,j]);
type
mas=Array[1..10,1..10] of integer;
...
a:mas;
да вроде....
убери еще непонятно зачем нужное сочетание
end;в середине программы...
begin
бальшое спс