Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2009, 23:05   #1
xamelion
Пользователь
 
Регистрация: 25.12.2009
Сообщений: 11
По умолчанию матрица и метод вставки

Помогите пожалуйста написать две программы на Turbo Pascal:
1. Для заданной матрицы размером 8 на 8 найти такие k, что k-я строка матрицы совпадвет с k-м столбцом. Найти сумму элементов в тех строках, которые вмещают хотя бы один отрицательный элемент.
2. Ввести с клавиатуры предложение. Сделать вставку запятой после слов заканчивающихся на "й". Вывести на экран кол-во таких вставок.
xamelion вне форума Ответить с цитированием
Старый 26.12.2009, 09:08   #2
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

вторая задача

Код:
var string s;{строчка с текстом}
count:integer;{счетчик вставок}
i:integer;{счетчик итераций}
begin
 readln(s);{ввод строки с клавы}
 count:=0;{изначальная инициализация счетчика вставок}
 for i:=0 to length(s)-1 do {пробегаем в цикле по строке}
 begin
  if (copy(s,i,1)='й') and (copy(s,i+1,1)=' ') then {если наткнулись на "й" а следующий " ", вставляем запятую правда условие можно написать и так: if  copy(s,i,2)='й ' then :) но мне так захотелось}
  begin
   insert(s,',',i+2);{вставляем запятую в строуку}
   inc(count);{увеличиваем счетчик вставок}
  end;
 end;
writeln(s);{выводим строку}
writeln(count);{выводим количество}
readln;{ожидание остановки}
end.
Писано по д'Эльфийски

Последний раз редактировалось Лубышев; 26.12.2009 в 09:12.
Лубышев вне форума Ответить с цитированием
Старый 26.12.2009, 09:41   #3
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

1)
Код:
const n=8;
var
m:array[1..n,1..n] of integer;
ns:array[1..n] of integer;
i,j,k,s:integer;
begin
for i:=1 to n do
for j:=1 to n do
readln(m[i,j]);
Writeln('---------------------------');
for i:=1 to n do begin
for j:=1 to n do
write(m[i,j]:4);
writeln;
end;
Writeln('---------------------------');
for i:=1 to n do begin
k:=0;
for j:=1 to n do
if m[i,j]=m[j,i] then inc(k);
if k=n then writeln(i);
end;
Writeln('---------------------------');
k:=0;
s:=0;
for i:=1 to n do
for j:=1 to n do
if m[i,j]=0 then begin inc(k);ns[k]:=i;break;end;
if k<>0 then begin
for i:=1 to k do
for j:=1 to n do
s:=s+m[ns[i],j];
Writeln('sum=',s:8);
end;
readln;
end.
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
метод вставки в нужную позицию; компонент ListView studenth Общие вопросы C/C++ 2 09.04.2013 13:28
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
Безумно сложные задачки!!!! Метод Гаусса, итераций, метод половинного деления, задача Коши и т.д. Хомяк!!!!! Помощь студентам 4 08.07.2009 10:08