Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 24.11.2009
Сообщений: 7
1

Обработка строковых величин

14.01.2010, 12:37. Показов 1800. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В тексте убрать лишние пробелы между словами, вставить по одному.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2010, 12:37
Ответы с готовыми решениями:

обработка строковых величин
1.Составьте программу, позволяющую выяснить, есть ли в слове Х хотя бы одна из букв "о" или "а".

обработка строковых величин
1. Каждое слово текста преобразовать таким образом, чтобы оно читалось слева направо. 2....

Из заданных строковых величин выбрать те которые состоят более чем из к символов
из заданных строковых величин выбрать те которые состоят более чем из к символов Добавлено через...

Обработка строковых данных
нужно задать текст.Слова в нем разделены пробелом,в конце-точка.Вывести строку в обратном виде при...

11
3312 / 1374 / 110
Регистрация: 28.04.2009
Сообщений: 4,822
14.01.2010, 12:42 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var S:string;
    i,p:integer;
begin
  writeln('Введите строку ');
  readln(S);
  for i:=1 to length(S) do
    begin
      repeat
        p:=Pos('  ',S);
        if p>0 then Delete(S,p,1);
      until p=0;
    end;
  writeln('Получившая строка: ',S);
  readln;
end.
1
Платежеспособный зверь
8956 / 4382 / 1649
Регистрация: 28.10.2009
Сообщений: 11,623
14.01.2010, 12:45 3
Цитата Сообщение от Nusya Посмотреть сообщение
В тексте убрать лишние пробелы между словами, вставить по одному.
Pascal
1
2
3
4
5
6
7
8
9
10
var
a:string;
i:integer;
begin
readln(a);
for i:=length(a)-1 downto 1 do
if (a[i]=' ')and (a[i+1]=' ')then delete(a,i,1);
writeln(a);
readln;
end.
Wolf , а так короче
2
3312 / 1374 / 110
Регистрация: 28.04.2009
Сообщений: 4,822
14.01.2010, 12:47 4
Цитата Сообщение от alexevt Посмотреть сообщение
а так короче
а рез-тат один
0
Человек
97 / 82 / 7
Регистрация: 16.06.2009
Сообщений: 229
14.01.2010, 12:51 5
Да но если там не два пробела, а много...

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var S, ret:string;
    i,p:integer;
begin
  writeln('Введите строку ');
  readln(S);
  ret := '';
  p := 0;
  for i:=1 to length(S) do
    begin
       if(s[i] <> ' ')then begin
        ret := ret + s[i];
        p := 0;
       end else begin
        if p = 0 then begin
            ret := ret + s[i];
            inc(p);
        end;
       end;
       
    end;
  writeln('Получившая строка: ',ret);
  readln;
end.
1
3312 / 1374 / 110
Регистрация: 28.04.2009
Сообщений: 4,822
14.01.2010, 12:54 6
alexevt,ещё короче не получается сделать.

Добавлено через 2 минуты
Цитата Сообщение от DreamWolf Посмотреть сообщение
Да но если там не два пробела, а много..
без разницы,хоть 200 пробелов
0
Платежеспособный зверь
8956 / 4382 / 1649
Регистрация: 28.10.2009
Сообщений: 11,623
14.01.2010, 12:56 7
да хоть сколько, остаётся ровно 1

DreamWolf
Любую программу всегда можно усложнить
0
3312 / 1374 / 110
Регистрация: 28.04.2009
Сообщений: 4,822
14.01.2010, 12:56 8
Цитата Сообщение от DreamWolf Посмотреть сообщение
ret = ret + s[i];
ошибочка
11 строка
Pascal
1
ret: = ret + s[i];
0
Человек
97 / 82 / 7
Регистрация: 16.06.2009
Сообщений: 229
14.01.2010, 12:58 9
Да уже вижу, просто затормозил мой мозг с утра...
0
119 / 119 / 41
Регистрация: 21.12.2009
Сообщений: 194
14.01.2010, 12:59 10
Тоже свой вариант предложу.
Удаляет все пробелы в строке S, и если в начале стоят пробелы, то и они тоже удаляются.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
program sd_sk;
uses
    crt;
var
   s:string;
begin
 clrscr;
 writeln('Stroka otdelyaemaya probelami: ');
 readln(s);
 s:=s+'  ';
 while pos('  ',s)<>0 do
  begin
   delete(s,pos('  ',s),1);
   if s[1]=' ' then delete(s,1,1);
  end;
 writeln(s);
 readln;
end.
0
Платежеспособный зверь
8956 / 4382 / 1649
Регистрация: 28.10.2009
Сообщений: 11,623
14.01.2010, 13:00 11
я решал задачу по условию
пробелы между словами
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
14.01.2010, 13:00 12
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Wolf Посмотреть сообщение
ещё короче не получается сделать
Pascal
1
2
3
4
5
6
7
8
var
  s:string;
begin
  readln(s);
  while pos('  ',s)<>0 do
    delete(s,pos('  ',s),1);
  writeln(s)
end.
3
14.01.2010, 13:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.01.2010, 13:00
Помогаю со студенческими работами здесь

Обработка строковых данных
var ss:string; s:array of string; a:array of char; y:char; i,j,k:integer; begin...

Обработка строковых данных
Составить программу, выполняющую следующее задание: дана строка символов, нужно, определить...

Обработка литерных величин...
program nnm; uses crt; type str=string;mass=array of str; var...

Обработка литерных величин. срочно
22.1. Совпадают ли буквы в двух словах. 22.2. Вычеркните из двух слов совпадающие гласные буквы....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru