Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_раб_08.doc
Скачиваний:
9
Добавлен:
23.09.2019
Размер:
334.85 Кб
Скачать

Примеры выполнения работы

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

#include <stdio.h>

#include <string.h>

void strcpy(char *s1, char *s2, int n1, int n2)

{

int y;

for(y=n1; y<n2; y++)

{

s1[y-n1]=s2[y];

}

s1[y-n1]='\0';

}

void main()

{

char str[255];

char **sm;

int i, j, t=0, k, *n;

gets(str);

for(i=1; i<strlen(str)-1; i++)

{

if (str[i]==' ') t++;

}

sm=new char*[t+1];

n=new int[t+1];

i=0; k=0;

for(j=0; j<=strlen(str); j++)

{

if(str[j]==' ' || j==strlen(str))

{

n[k]=j-i;

sm[k]=new char[n[k]];

strcpy(sm[k], str, i, j);

i=j+1;

k++;

}

}

printf("RESULT\n");

for(i=0; i<k; i++)

{

printf("%s\n", sm[i]);

}

}

Задание на лабораторную работу

Написать программу, которая читает с клавиатуры строку символов, преобразует ее и выводит результат на дисплей.

1

Удалить из строки все цифры и переписать их в конец строки.

2

После каждого четвертого пробела вставить точку и удалить последние "лишние" символы.

3

Подсчитать количество цифр в строке и заменить каждую цифру полученным числом.

4

Перед каждым знаком '=' вставить символ, стоящий за ним, если таковой имеется.

5

Удалить из строки все буквы 'а' и добавить в ее начало недостающее число пробелов, равное количеству удаленных букв.

6

Заменить в строке все латинские буквы на следующие по алфавиту буквы, а букву 'z' заменить на 'a'.

7

Заменить в строке все цифры предыдущими по значению цифрами, а '0' заменить на точку.

8

Каждый символ, стоящий в нечетной позиции, обменять со следующим за ним символом строки.

9

Если в строке цифр больше, чем букв, заменить все цифры знаком '+'. В противном случае заменить все буквы знаком '-'.

10

Подсчитать количество слов в строке.

11

Если в строке пробелов меньше, чем цифр, удвоить каждый пробел.

12

Каждую закрывающую скобку ')', для которой нет парной открывающей '(', заменить на '?'.

13

Если строка содержит не менее четырех пробелов подряд, заменить в ней первые 6 символов на 6 последних, записанных в обратном порядке.

14

Если строка начинается и оканчивается одним и тем же символом, во всей строке заменить его четвертым символом строки.

15

Если строка содержит больше пяти латинских 'а', заменить все буквы строки следующими по алфавиту символами.

16

После каждого десятого символа вставить знак '-', а после каждого третьего символа (без учета '-') вставить запятую, "лишние" символы в конце строки удалить.

17

Найти соотношение букв и цифр в строке, напечатать его и удалить все символы '*' из строки, добавив в конец такое же количество символов '!'.

18

В строке все вхождения слова "Да" заменить на "Нет". Игнорируется разница между строчными и заглавными буквами.

19

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

20

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

21

Подсчитать количество различных латинских букв

22

Найти и напечатать самое длинное слово в строке.

23

Найти и напечатать самое короткое слове в строке.

24

Напечатать все различные символы самого длинного слова в строке.

25

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