Вернуться   Компьютерный форум > Компьютеры > Программы > Программирование
 
 
Опции темы
Старый 12.05.2012, 02:26   #1 (ссылка)
Новичок
 
Регистрация: 12.05.2012
Сообщений: 2
Репутация: 0
Exclamation Пожалуйста помогите решить 2 задачи на Turbo Pascal

Пожалуйста помогите решить 2 задачи на Turbo Pascal :

1)Дана матрица А(15,15), сформированная случайным образом из целых чисел диапазона [-5,5]. Найти и вывести на печать среднее геометрическое элементов, вокруг которых (слева, справа, сверху и снизу) стоят нули.

2)Дана строка символов, состоящая из прописных и строчных латинских букв и пробелов. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Удалить из строки слова, состоящие только из прописных букв. Вывести на печать полученную строку и количество удаленных слов
andrey_3 вне форума  
Старый 14.05.2012, 00:18   #2 (ссылка)
Новичок
 
Регистрация: 12.05.2012
Сообщений: 2
Репутация: 0
Exclamation Пожалуйста помогите решить 2 задачи на Turbo Pascal

Посмотрите пожалуйста. Правильно ли решил задачи (первая программа либо выдает ошибку,либо среднее геометрическое почти всегда равно нулю; вторая программа удаляет прописные буквы в словах даже, если слова состоят из приписных и строчных букв, а если слова с прописными и строчными буквами чередуются, то вообще не выполняется):

Первая:
Var
m: array[1..15,1..15] of integer;
i,j,k,p: integer;
sr: real;
Begin
randomize;
for i:=1 to 15 do begin
for j:=1 to 15 do begin
m[i,j]:=random(11)-5;
write(m[I,j],’ ‘);
end;
writeln;
end;
p:=1;
k:=0;
for i:=1 to 15 do
for j:=1 to 15 do
if (m[i-1,j]=0) and (m[i+1,j]=0) and (m[i,j-1]=0)
and (m[i,j+1]=0) and (m[i,j]<>0) then
begin
k:=k+1;
p:=p*abs(m[i,j]);
end;
if (k=0) and (p=1) then writeln (‘числа не удовлетворяют условию’)
else
sr:=exp(1/k*ln(p));
if odd(k)=true then sr:=sr*(-1);
writeln(‘sr=’, sr:0:4);
readln;
End.

Вторая:
var
st:string;
i,k:integer;
begin
write (‘Введите строку’);
readln(st);
for i:=1 to length(st) do begin
if (st[i]=’ ‘) and (st[i+1]=’ ‘) then delete(st,i,1);
while (ord(st[i])>=65) and (ord(st[i])<=90)
or (ord(st[i])>=192) and (ord(st[i])<=223) do begin delete(st,i,1);
k:=k+1;
end;
end;
writeln(st);
writeln(k);
readln;
end.
andrey_3 вне форума  
Ads
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите в решение задачи на Pascal ABC ABC lexa Программирование 0 27.11.2011 21:15
Помогите пожалуйста решить задачи в Паскале! Tores Программирование 2 02.09.2011 13:00
Помогите решить 2 задачи в Бэйсике!!! Carrie Программирование 6 03.05.2011 08:51
Помогите решить две задачи на бэйсике :( пожалуйста :( Sw_92 Программирование 17 30.03.2011 04:28
плизз помогите решить задачу в turbo packal humor92 Программирование 8 12.08.2009 11:54


Текущее время: 10:44. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.