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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 05.01.2010, 20:26   #1
Mon_ Ennemi
Новичок
Джуниор
 
Аватар для Mon_ Ennemi
 
Регистрация: 05.01.2010
Сообщений: 2
По умолчанию Паскаль. Строки.

Есть задание:
Удалить в строке слова, которые встречаются в ней указанное число раз.

При этом такой вариант написания программы не подходит, потому что сравнивает слова поэлементно:

Цитата:
program stroka;
uses crt;
var a:string;
b:array[1..60]of string;
i,k,n,t,m,j:byte;
begin
clrscr;
writeln('vvedite stroku');
readln(a);
writeln('vvedite chislo');
readln(n);
a:=' '+a+' ';
for i:=1 to length(a) do
if a[i]=' 'then inc(k)else b[k]:=b[k]+a[i];
for i:=1 to k do
begin
m:=0;
for j:=1 to k do
if b[i]=b[j] then inc(m);
if m=n then
begin
for t:=length(a)downto 1 do
if copy(a,t,length(b[i])+2)=' '+b[i]+' ' then delete(a,t,length(b[i])+1);
end;
end;
writeln(a);
readln;
end.
Помогите, пожалуйста) Очень надо)

Последний раз редактировалось Mon_ Ennemi; 05.01.2010 в 22:32.
Mon_ Ennemi вне форума
Старый 05.01.2010, 22:11   #2
Андрей.12
Программист
Пользователь
 
Регистрация: 12.10.2009
Сообщений: 77
Радость

можно из строки выделять каждое слово и заносить в массив и работать

Последний раз редактировалось Андрей.12; 05.01.2010 в 22:26.
Андрей.12 вне форума
Старый 05.01.2010, 22:31   #3
Mon_ Ennemi
Новичок
Джуниор
 
Аватар для Mon_ Ennemi
 
Регистрация: 05.01.2010
Сообщений: 2
По умолчанию

Я делала похожим образом, но тогда слова приходится вводить через ентер, а препода это не устраивает... Или можно переписать как-то иначе, у меня не получилось(
Я делала так:

Цитата:
program p1;
uses
crt;

const
n = 10;

var
s: array[1..n] of string;
repeats: array[1..n] of integer;
m, i, j: integer;

begin
writeln('‚Vvedite',n,' slov ');

for i := 1 to n do

begin
readln(s[i]);
end;

write('‚Vvedite kolichestvo povtorov: ');
readln(m);

for i := 1 to n do
begin
repeats[i] := 0;

for j := 1 to n do

begin
if (s[i] = s[j]) then
repeats[i] := repeats[i] + 1;
end;
end;

writeln('Bez ', m, ' povtorov:');

for i := 1 to n do
begin
if (repeats[i] = m) then
s[i] := ' '
else
writeln(s[i]);
end;

readln(s[1]);
end.
Mon_ Ennemi вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль(Строки) ax/bx Помощь студентам 1 29.12.2009 17:13
Строки Паскаль Antonio_getscool Помощь студентам 1 19.12.2009 15:12
Строки паскаль Antonio_getscool Помощь студентам 1 18.12.2009 11:16
Строки в Паскаль Myhamorchik Помощь студентам 2 05.03.2009 10:07