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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2008, 14:47   #1
lex@
 
Регистрация: 18.12.2008
Сообщений: 3
Восклицание 4 задачи

Дана строка содержащая текст на русском языке. В предложениях некоторые из слов записаны подряд несколько раз. Получить в новой строчке отредактированный текст, в котором удалены подряд идущие вхождения слов.
Напечатайте слово, в котором оставлены буквы, входяшие в исходное слово один раз.
Дано n строк русского текста. Найти в каждой строке количество слов, в которых ровно 3 буквы "а".
Дана строка текста из букв и цифр. Найти сумму и среднее арефметическое цифр, содержащихся в строке.*
пожалуйста срочно
Заранее благодарю

Последний раз редактировалось mihali4; 11.03.2009 в 14:36.
lex@ вне форума Ответить с цитированием
Старый 25.12.2008, 17:59   #2
Tkirill
Форумчанин
 
Аватар для Tkirill
 
Регистрация: 22.12.2008
Сообщений: 104
По умолчанию 1-я так, если я правильно понял (для строки без знаков препинания)

Код:
uses crt;
var
mas:array[1..300] of string[20];
s,st:string;
f:boolean;
i,j,k,l,m,n:integer;
begin
clrscr;
write( '-> ');
readln(s);
for i:=1 to 300 do
mas[i]:='';
k:=1;
i:=1;
st:='';
s:=s+' ';
repeat
f:=true;
if s[i]<>' ' then st:=st+s[i]
else
   begin
    for j:=1 to k do
    if mas[j]=st then f:=false;
    if f then begin mas[k]:=st; k:=k+1; end;
    st:='';
   end;
i:=i+1;
until i>length(s);
writeln;
st:='';
for i:=1 to k-1 do
 begin
  st:=st+mas[i]+' ';
 end;
writeln(st);
readln;
end.
@(o_0)@

Последний раз редактировалось mihali4; 11.03.2009 в 14:37.
Tkirill вне форума Ответить с цитированием
Старый 25.12.2008, 18:37   #3
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию 2

Код:
uses crt;
var st:string;
    s,s1:set of char;
    i:integer;

begin
clrscr;
readln(st);
s:=[];s1:=[];
for i:=1 to length(st) do
 if not (st[i] in s) then s:=s+[st[i]]
    else if not (st[i] in s1) then s1:=s1+[st[i]];
s:=s-s1;
for i:=1 to length(st) do
 if st[i] in s then write(st[i]);
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 25.12.2008, 18:37   #4
Tkirill
Форумчанин
 
Аватар для Tkirill
 
Регистрация: 22.12.2008
Сообщений: 104
По умолчанию Последняя

Код:
uses crt;
const
m=['0'..'9'];
var
s,st:string;
a,b:char;
sum,sr,kol,i,j,n,o:integer;
begin
clrscr;
write(' -> ');
readln(s);
sum:=0;
kol:=0;
for i:=1 to length(s) do
 begin
  if s[i] in m then begin val(s[i],n,o); sum:=sum+n; kol:=kol+1; end;
 end;
writeln;
write(' summa ->',sum);
writeln;
write(' srednee arifm -> ',sum/kol:4:4);
readln;
end.
@(o_0)@

Последний раз редактировалось mihali4; 11.03.2009 в 14:37.
Tkirill вне форума Ответить с цитированием
Старый 25.12.2008, 18:42   #5
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию 4

Код:
uses crt;
var st:string;
    i,n,sum,code,j:integer;

begin
clrscr;
readln(st);
sum:=0;n:=0;
for i:=1 to length(st) do
 if st[i] in ['0'..'9'] then begin
                              val(st[i],j,code);
                              sum:=sum+j;
                              inc(n);
                             end;
writeln('Summa ',sum,'   sr ',(sum/n):5:2);
end.
Tkirill опередил
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 25.12.2008, 19:11   #6
Tkirill
Форумчанин
 
Аватар для Tkirill
 
Регистрация: 22.12.2008
Сообщений: 104
По умолчанию 3-я

Код:
uses crt;
var
mas:array[1..100] of string;
kola,i,j,kol,a,b,c,d,k,l,m,n:integer;
s,st,s1,s2,s3:string;
begin
clrscr;
i:=1;
write(' Vvedite kolichestvo strok ->  ');
readln(n);
for i:=1 to n do
  readln(mas[i]);
for i:=1 to n do
 begin
  j:=1;
  s:='';
  mas[i]:=mas[i]+' ';
  kola:=0;
   repeat
   if mas[i][j]<>' ' then
                    begin
                    s:=s+mas[i][j];
                    end
    else
     begin
      for k:=1 to length(s) do
       begin
       if s[k]='a' then kol:=kol+1;
       end;
      if kol=3 then kola:=kola+1;
      s:='';
      kol:=0;
     end;
   j:=j+1;
   until j>length(mas[i]);
     writeln(' В ',i,' строке ',kola,' слова с 3 буквами a ');
  end;
readln;
end.
@(o_0)@

Последний раз редактировалось mihali4; 11.03.2009 в 14:37.
Tkirill вне форума Ответить с цитированием
Старый 25.12.2008, 21:16   #7
lex@
 
Регистрация: 18.12.2008
Сообщений: 3
По умолчанию

всем спасибо огромное выручили

Последний раз редактировалось mihali4; 11.03.2009 в 14:36.
lex@ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на С++ Nemisoi Фриланс 7 06.10.2011 22:55
Задачи... Раймир Фриланс 2 15.08.2008 17:13
задачи Evgenii Помощь студентам 1 04.01.2008 23:47
Задачи Настена Помощь студентам 1 18.12.2007 06:45
2 Задачи Stan Помощь студентам 4 02.06.2007 19:47