Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
17.04.2015
Размер:
22.02 Кб
Скачать

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЛЕСА

Факультет электроники и системотехники.

Лабораторная работа № 8

по программированию на языке высшего уровня С

Тема: «Строки»

Выполнил студент: Авшарян Т.М.

ВТ-12

Проверил: Ларионов Н.В.

Москва 2012 г.

1. Условия задания:

С ними дядька Черномор.

«Не тужи, душа моя,

Это чудо знаю я.

Эти витязи морские

Мне ведь братья все родные,

Не печалься же, ступай,

В гости братцев поджидай».

Ввести текст с клавиатуры или инициализировать массив строк:

Написать программу в виде функций

1. Вывести текст на экран оформив его в красивый орнамент.

2. Подсчитать количество предложений в тексте.

3. Подсчитать количество знаков препинания в каждой строке.

    1. Упорядочить текст по количеству пробелов в строке по убыванию.

2. Данные: Входящие:

Рабочие: st,probel,k,f

Выходящие: s,p

3. Листинг программы:

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#include <iostream.h>

#include <conio.h>

void output (int n, char mas[][30])

{

int i;

cout<<"____________________________________\n";

cout<<"<><><><><><><><><><><><><><><><><><>\n";

cout<<"____________________________________\n";

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

cout<<"*** "<<mas[i]<<"\n";

cout<<"____________________________________\n";

cout<<"<><><><><><><><><><><><><><><><><><>\n";

cout<<"____________________________________\n";

}

int pred (int n, char mas[][30])

{

int i,j,k=0;

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

{

j=0;

while (mas[i][j]!='\0')

{

if (mas[i][j]=='.')

k++;

j++;

}

}

return(k);

}

int prep (char mas[][30], int i)

{

int j=0,k=0;

while (mas[i][j]!='\0')

{

if (mas[i][j]=='.'||mas[i][j]=='<'||mas[i][j]=='>'||mas[i][j]==',')

k++;

j++;

}

return (k);

}

void sort (int n, char *pmas[])

{

int i,j,k,f,m=0,probel=0;

char *st;

while (m!=n)

{

for (i=m; i<=n; i++)

{

j=0;

k=0;

while (pmas[i][j]!='\0')

{

if (pmas[i][j]==' ')

k++;

j++;

}

if (k>probel)

{

probel=k;

f=i;

}

}

st=pmas[m];

pmas[m]=pmas[f];

pmas[f]=st;

m++;

probel=0;

}

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

cout<<pmas[i]<<"\n";

}

int main()

{

const int n=7;

int i,s,p;

char mas[n][30]={"S nimi dyadka Chernomor.",

"<Ne tuji, dusha moya,",

"Eto chudo znau ya.",

"Eti vityazi morskie",

"Mne ved bratiya vse rodnie,",

"Ne pechalsya zhe, stupai,",

"V gosti bratzev podjidai>."};

char *pmas[]={"S nimi dyadka Chernomor.",

"<Ne tuji, dusha moya,",

"Eto chudo znau ya.",

"Eti vityazi morskie",

"Mne ved bratiya vse rodnie,",

"Ne pechalsya zhe, stupai,",

"V gosti bratzev podjidai>."};

clrscr();

output(n,mas);

s=pred(n,mas);

cout<<"\n kol-vo predlozhenij = "<<s<<"\n";

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

{

p=prep(mas,i);

cout<<"\nkol-vo znakov prepinaniya v stroke "<<i<<" = "<<p;

}

cout<<"\n\n";

sort(n,pmas);

getch();

return 0;

}

Соседние файлы в папке Авшарян