Помогите пожалуйста написать две программы на Turbo Pascal:
1. Для заданной матрицы размером 8 на 8 найти такие k, что k-я строка матрицы совпадвет с k-м столбцом. Найти сумму элементов в тех строках, которые вмещают хотя бы один отрицательный элемент.
2. Ввести с клавиатуры предложение. Сделать вставку запятой после слов заканчивающихся на "й". Вывести на экран кол-во таких вставок.
матрица, преобразование текста
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
2. for i:=1 to length(s) do if s='й' then insert(s, i+1, ',');
Насчет синтаксиса инсерта не уверен, не помню, в каком порядке там идут параметры.
Насчет синтаксиса инсерта не уверен, не помню, в каком порядке там идут параметры.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Cпасибо за подсказку. A что с первой программой сделать можно& В голову вообще ничего не прходит. Помогите пожалуйста уже хоть что-то написать.
К-я строка совпадает с к-м столбцом - для всех i от 1 до 8 A[k,i]=A[i,k]
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
1.
Вот что-то написала, но выдаёт ошибку в первой строке:
procedure Proc(mas: matrix);
var i,j,k: integer;
stroka, stolbez: array[1..8] of integer;
ravni: boolean;
begin
for i:=1 to 8 do
begin
for j:=1 to 8 do
begin
for k:=1 to 8 do
begin
stroka[k]:=mas[i,k];
stolbez[k]:=mas[k,j];
end;
ravni:=true;
for k:=1 to 8 do
if stroka[k] <> stolbez[k] then ravni:=false;
if ravni then Writeln('Stroka ',i,'sovpadaet so stolbzom ',j);
end;
end;
end;
Вот что-то написала, но выдаёт ошибку в первой строке:
procedure Proc(mas: matrix);
var i,j,k: integer;
stroka, stolbez: array[1..8] of integer;
ravni: boolean;
begin
for i:=1 to 8 do
begin
for j:=1 to 8 do
begin
for k:=1 to 8 do
begin
stroka[k]:=mas[i,k];
stolbez[k]:=mas[k,j];
end;
ravni:=true;
for k:=1 to 8 do
if stroka[k] <> stolbez[k] then ravni:=false;
if ravni then Writeln('Stroka ',i,'sovpadaet so stolbzom ',j);
end;
end;
end;
Три переменных совершенно излишни. И begin - end в избытке
Код: Выделить всё
for i:=1 to 8 do
begin
ravni:=true;
for j:=1 to 8 do
if mas[i,j]<>mas[j,i] then begin ravni:=false; break; end;
write(i,'-я строка и ',i,'-й столбец ');
if ravni then writeln('равны') else writeln('Не равны');
end;
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.