Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Строки

59K
06 мая 2010 года
airmen
3 / / 06.05.2010
Помогите пожалуйста, не могу разобраться со строками в паскале.
Есть задание: Вести ряд символов, получить новую строку в которой нету повторный символов кроме пробелов, количество пробелов удвоить.
6
06 мая 2010 года
George
4.1K / / 05.01.2007
А покажите, что уже сделали, и в чем именно проблема. Хотя бы алгоритм светаните.
59K
06 мая 2010 года
airmen
3 / / 06.05.2010
Дело в том, что я не могу понять, как сделать так что бы программа убирала повторные символы???
399
06 мая 2010 года
KIV
432 / / 20.01.2009
Цитата:
Дело в том, что я не могу понять, как сделать так что бы программа убирала повторные символы???


Добавлять в новую строку только те символы, которых в ней ещё нет. Если символ пробел, то не проверять его наличие, а просто добавить два пробела. Надеюсь как обходить все символы и добавлять в другую строку символы в конец вы знаете.

8.4K
06 мая 2010 года
z0rch
275 / / 02.09.2008
Цитата: airmen
Дело в том, что я не могу понять, как сделать так что бы программа убирала повторные символы???


в вашем случае удобно воспользоваться множествами.
смотрите посимвольно, присутствует ли такая буква в множестве(изначально пустом), если да - не пишете, если нет - пишете и добавляете ее в множество. а насчет пробелов - вам верно подсказали :)

61K
23 мая 2010 года
Gily
2 / / 23.05.2010
Ребята, помогите, пожалуйста, решить две задачи в паскале, ибо они уже все нервы вымотали!

1.Правда ли, что в тексте количество пропусков на 1 меньше, чем слов?
2.Вычеркнуть из слова А1 те символы, которые встречаются в слове А2.

До завтра нужно
59K
27 мая 2010 года
airmen
3 / / 06.05.2010
сортировку сделал что удаляет повторные символы, но теперь что то не могу удвоить количество пробелов.
Вот моя програма:
program lab6;
uses crt;
var
a: string;
s:string;
i,j: integer;
begin
clrscr;
writeln ('Wedite stroku');
readln (a);
s:=' ';
for i:=1 to length (a) do
for j:=i+1 to length (a) do
if a=a[j] then delete (a,j,1);
for i:=1 to length (a) do
if a=' ' then insert (a,s,i-1);
writeln ('stroka ostavshihsya sinvolov');
writeln (a);
readkey;
end.

вроде должно добавлять пробелы, но ниче не получается.
8.4K
28 мая 2010 года
z0rch
275 / / 02.09.2008
Цитата:
for i:=1 to length (a) do
for j:=i+1 to length (a) do
if a=a[j] then delete (a,j,1);


это неправильное условие, введите строку "аааааа bbb ccc" и убедитесь в этом.
правильно так:

 
Код:
for i:=1 to length (a) do
begin
  j:=i+1;
  while(j<=length(a))do
  begin
    if (a=a[j])and(a<>' ') then begin delete (a,j,1); dec(j); end;
    inc(j);
  end;
end;

а с пробелами так:
 
Код:
i:=1;
while i<=length (a) do
begin
  if a=' ' then begin insert (' ',a,i); inc(i);end;
  inc(i);
end;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог