Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка ИНФОРМАТИКА_2009.doc
Скачиваний:
18
Добавлен:
02.06.2015
Размер:
1.08 Mб
Скачать

Задание 7. Обработка символьных данных

  1. Определить сколько раз в тексте встречается буква А и сколько раз буква С

  2. В тексте заменить букву В на букву С а букву С на букву Р

  3. В тексте удалить символы заключенные в скобки вместе со скобками

  4. Определить количество слов в тексте

  5. В каждом слове определить количество цифр

  6. В тексте первый символ каждого слова – цифра указывающая длину этого слова Напечатать k-е слово

  7. В тексте убрать лишние пробелы оставив по одному

  8. В тексте между словами вставить ‘!’ и ‘ ‘(пробел)

  9. Разделить заданный текст на строки по символу ‘!’ который удаляется при преобразовании текста

  10. В тексте первый символ каждого слова – цифра указывающая длину этого слова Напечатать слова разной длины каждое – в отдельной строке

  11. В последовательности символов удалить лишние подряд стоящие точки оставив одну

  12. В тексте слова могут быть разделены несколькими пробелами Первый из пробелов заменить символом ‘+’, а второй – удалить

  13. Заменить в тексте каждую точку многоточием

  14. В последовательности символов переставить букву К со следующей за ней

  15. Подсчитать сколько раз за буквой а следует буква в

  16. В тексте первый символ каждого слова – цифра указывающая длину этого слова Напечатать слова одинаковой длины по одному разу каждое – в отдельной строке

  17. Определить входит ли буква с в группу символов заключенных в скобки

  18. Подсчитать сколько слов в тексте имеют удвоенные сочетания букв

  19. Подсчитать в последовательности символов наибольшее количество идущих подряд пробелов

  20. Выяснить верно ли что в последовательности символов имеются k идущих подряд букв а

  21. Заменить в последовательности символов после первого вхождения символа + все цифры на символ ‘-‘.

  22. Удалить в последовательности символов все запятые до первой точки а далее заменить все цифры 4 и 8 на символ ‘+’

  23. Разбить последовательность символов на слова оканчивающиеся буквой а

  24. Определить является ли набор символов десятичной записью числа кратного 5

  25. Определить равно ли количество символов в слове значению цифры стоящей перед словом

  26. Выяснить совпадает ли группа символов с начальным отрезком ряда 0123456789

  27. Определить в тексте количество слов содержащих хотя бы одну букву в

  28. Проверить сбалансированность скобок в тексте

  29. Найти в тексте наибольшее количество цифр идущих подряд

  30. Определить сложность предложения как сумму количества слов и знаков препинания в нем

Пример 1

//Ввести предложение, слова в котором разделены пробелами и в конце

//которого стоит точка. Удалить повторяющиеся пробелы между

//отдельными словами

#include<iostream.h>

#include<conio.h>

void main()

{

clrscr();

char s,z;

cout<<»Напишите предложение с точкой в конце:»<<endl;

cin.unsetf(ios::skipws);//запрет пропуска символов-разделителей или

//пробельных символов (пробелы, знаки

//табуляции, знак новой строки)

for(z=s=’ ‘;z!=’.’;s=z) //s – предыдущий символ

{cin>>z;

if(z==’ ‘&&s==’ ‘) continue;

cout<<z;}

getch();

}

Пример 2

//Подсчет числа гласных букв

#include<iostream.h>

#include<conio.h>

void main()

{

clrscr();

char z;

cout<<»Напишите предложение с точкой в конце:»<<endl;

for(int k=0;(z=cin.get())!=’.’;)

if(z==’a’||z==’o’||z==’e’||z==’i’||z==’j’||z==’u’)k++;

if(k==0)cout<<»В тексте нет гласных букв»<<endl;

else

cout<<endl<<»Количество гласных букв:»<<k<<endl;

getch();}

Пример 3

//Напечатать последнее слово в предложении

#include<iostream.h>

#include<conio.h>

void main()

{

char s,ss; //s – вводимый символ, ss – предыдущий символ

char a[30];

int i,k; //k – длина слова

clrscr();

cout<<»Напишите предложение с точкой в конце:\n»;

cin.unsetf(ios::skipws);

for(i=0,s=’ ‘,k=0;i<=29;i++)

{

ss=s; s=cin.get();

if(s==’ ‘)continue;

if(s==’.’)break;

if(ss==’ ‘)k=0;

a[k]=s; k++;

}

//Выход по точке или по окончании ввода строки

if(i==30||k==0)cout<<»Неверное предложение\n»;

else

{

a[k]='\0'; //конец строки

cout<<»Последнее слово: «<<a<<endl;

}

cout<<»Конец программы.»;

getch();}