Страница 1 из 1
матрица, преобразование текста
Добавлено: 26 дек 2009, 17:50
xamelion
Помогите пожалуйста написать две программы на Turbo Pascal:
1. Для заданной матрицы размером 8 на 8 найти такие k, что k-я строка матрицы совпадвет с k-м столбцом. Найти сумму элементов в тех строках, которые вмещают хотя бы один отрицательный элемент.
2. Ввести с клавиатуры предложение. Сделать вставку запятой после слов заканчивающихся на "й". Вывести на экран кол-во таких вставок.
Re: матрица, преобразование текста
Добавлено: 28 дек 2009, 13:26
Хыиуду
2. for i:=1 to length(s) do if s='й' then insert(s, i+1, ',');
Насчет синтаксиса инсерта не уверен, не помню, в каком порядке там идут параметры.
матрица, преобразование текста
Добавлено: 28 дек 2009, 20:25
xamelion
Cпасибо за подсказку. A что с первой программой сделать можно& В голову вообще ничего не прходит. Помогите пожалуйста уже хоть что-то написать.
Re: матрица, преобразование текста
Добавлено: 29 дек 2009, 09:31
Хыиуду
К-я строка совпадает с к-м столбцом - для всех i от 1 до 8 A[k,i]=A[i,k]
Re: матрица, преобразование текста
Добавлено: 29 дек 2009, 11:35
xamelion
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;
Re: матрица, преобразование текста
Добавлено: 30 дек 2009, 11:13
Хыиуду
Три переменных совершенно излишни. И 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;