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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2011, 19:40   #1
Ирина93
Пользователь
 
Регистрация: 02.11.2011
Сообщений: 20
Вопрос Задачи на обработку строк: удалить каждую 3-ю букву, найти кол-во гласных, кол-во цифр в строке,совпадения в 2-х строках

1) - удалить в строке каждую 3 букву;
- подсчитать в строке количество гласных
2) - подсчитать в строке количество входящих в него цифр;
- вводятся 2 строки. подсчитать количество совпадающих символов


_________
Название темы должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В дальнейшем темы с подобным названием будут закрываться/удаляться.

Модератор.

Последний раз редактировалось Serge_Bliznykov; 03.11.2011 в 08:38.
Ирина93 вне форума Ответить с цитированием
Старый 02.11.2011, 19:55   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

— удалить в строке каждую 3 букву;
подсчитать в строке количество гласных
— Зачем?
— Ну, типа задача такая
— И что? Задачи примитивные, интереса к решению не вызывают, дак зачем я их буду решать за тебя?
— Да я не прошу за меня решать, сама не тупая, пары не прогуливаю. Подскажите алгоритм хотя-бы.
— Ну, так с этого и надо было начинать! Держи:
1. Запускаем цикл с нуля до (кол-во символов в строке), внутри заводим инкремент (inc:=inc+1, если он равен трем, обнуляем его, иначе записываем в новую строку символ my_string[inc]. Для второй части создаем строку со списком всех гласных и запускаем два встроенных друг в друга цикла по длинам обоих строк, и сравниваем i-тое значение первой строки с j-тым символом в списке гласных, если равны — sum:=sum+1;
2. обе аналогично второй части первой задачи.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 02.11.2011, 20:18   #3
iCaesy
In progress...
Форумчанин
 
Регистрация: 25.09.2011
Сообщений: 161
По умолчанию

Для примера:

Код:
program  **;
uses crt;
var
 s:string;
 i,n,k,u:byte;
begin
 write('Vvod stroki : ');
 readln(s);
 n:=Length(s);
 for i:=Length(s) downto 1 do
  if s[i] in ['0'..'9'] then
  begin
    k:=k+1;
    delete(s,i,1);
  end;
  writeln ('Polu4ennaya stroka');
  writeln (s);
end.
iCaesy вне форума Ответить с цитированием
Старый 02.11.2011, 20:33   #4
Ирина93
Пользователь
 
Регистрация: 02.11.2011
Сообщений: 20
По умолчанию

спасибо!
а у вас программа паскаль какой версии?
Ирина93 вне форума Ответить с цитированием
Старый 02.11.2011, 20:50   #5
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Цитата:
удалить в строке каждую 3 букву;
Код:
i:=1;
while i<length(s)-1 do begin
   inc(i, 2);
   delete(s, i, 1);
end;
Цитата:
подсчитать в строке количество гласных
Код:
count:=0;
for i:=1 to length(s) do 
   if s[i] in ['a','o','u','i','e','A','O','U','I','E'] {или какие там гласные бывают}
   then inc(count);
Цитата:
2) подсчитать в строке количество входящих в него цифр;
Код:
count:=0;
for i:=1 to length(s) do
   if s[i] in ['0'..'9'] then inc(count);
Цитата:
вводятся 2 строки. подсчитать количество совпадающих символов
Код:
count:=0;
if length(s1)<length(s2) then l:=length(s1)
else l:=length(s2);
for i:=1 to l do
   if s1[i]=s2[i] then inc(count);
Такие дела.
Son Of Pain вне форума Ответить с цитированием
Старый 05.11.2011, 09:38   #6
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
1. Запускаем цикл с нуля до (кол-во символов в строке)
Зачем с 0?в паскале строка начинается с 1 символа, а в 0 (байте) содержится длина строки. при 0 программа или заглючит или не откомпилируется. или я ошибаюсь?

Последний раз редактировалось Poma][a; 05.11.2011 в 10:00.
Poma][a вне форума Ответить с цитированием
Старый 05.11.2011, 22:10   #7
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Зачем с 0?в паскале строка начинается с 1 символа, а в 0 (байте) содержится длина строки. при 0 программа или заглючит или не откомпилируется. или я ошибаюсь?
Скорее я ошибся) давно не программировал на паскале)
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчитать кол-во гласных букв Владимир_король Помощь студентам 1 10.05.2010 13:08
В строках таблицы,содержащих наибольшее кол-во нулей, найти минимальную в строке сумму абсолютных величин Bga Помощь студентам 2 07.12.2009 00:52
Найти кол-во целых чисел в первой последовательности и кол-во нечетных во второй. DjDeniels-61 Помощь студентам 7 28.06.2009 13:04
Найти кол-во чисел в строке. Айдар Помощь студентам 6 22.06.2009 14:28
подсчитать кол-во гласных FireHawK Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 22.11.2008 19:22