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

Московский государственный университет леса

Факультет ЭСТ

Кафедра " Вычислительной техники"

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

Строки.

Студент Федюкин А. А.

Группа ВТ-12

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

Москва 2012

Задание.

И впился комар как раз

Тетке прямо в глаз.

Повариха побледнела,

Обмерла и окривела.

Слуги ,сватья и сестра

С криком ловят комара.

“Распроклятая ты мошка!

Мы тебя!...” А он в окошко,

Да спокойно в свой удел

Через море полетел.

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

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

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

  • Подсчитать количество прямой речи в тексте.

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

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

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#include <iostream.h>

#include <conio.h>

void output (int n, char a[][40]);

int rech (int n, char a[][40]);

int point (char a[][40], int i);

void sort (int n, char *a[]);

int main()

{

const int n=10;

int i,r,p;

char mas[n][40]={"I vpilsya komar kak raz",

"Tetke pryamo v praviy glaz.",

"Povariha poblednela,",

"Obmerla i okrivela.",

"Slugi, svatiya i sestra",

"S krikom lovyat komora.",

"<<Rasproklyataya ti moshka!",

"Mi tebya!..>> A on v okoshko,",

"Da spokoino v svoi udel",

"Cherez more poletel."};

char *pmas[]={"I vpilsya komar kak raz",

"Tetke pryamo v praviy glaz.",

"Povariha poblednela,",

"Obmerla i okrivela.",

"Slugi, svatiya i sestra",

"S krikom lovyat komora.",

"<<Rasproklyataya ti moshka!",

"Mi tebya!..>> A on v okoshko,",

"Da spokoino v svoi udel",

"Cherez more poletel."};

clrscr();

output(n,mas);

r=rech(n,mas);

cout<<"\nkol-vo pryamoi rechi = "<<r<<"\n";

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

{

p=point(mas,i);

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

}

cout<<"\n\n";

sort(n,pmas);

getch();

return 0;

}

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

{

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 rech (int n, char mas[][40])

{

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/2);

}

int point (char mas[][40], int i)

{

int j=0,k=0;

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

{

if (mas[i][j]=='.')k++;

j++;

}

return (k);

}

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

{

int i,tmp=1;

char *st;

while (tmp==1)

{

tmp=0;

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

if (strlen(pmas[i+1])>strlen(pmas[i]))

{

st=pmas[i];

pmas[i]=pmas[i+1];

pmas[i+1]=st;

tmp=1;

}

}

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

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

}

Соседние файлы в папке Федюкин