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

Московский Государственный Университет Леса

ФЭСТ ВТ-11

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

Программирование на языках высокого уровня

Тема: “Строки”

Выполнил студент Красных В.Ю.

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

Москва 2012.

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

У лукоморья дуб зеленый;

Златая цепь на дубе том:

И днем и ночью кот ученый

Всё ходит по цепи кругом;

Идет направо — песнь заводит,

Налево — сказку говорит.

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

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

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

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

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

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

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

#include<stdlib.h>

#include<stdio.h>

#include<math.h>

#include<string.h>

#include<conio.h>

#include<iostream.h>

void pe(char mas[][40], int n );

int po(char mas[][40], int n );

int pos(char mas[][40], int n );

int sor(char *mass[], int n );

int main()

{

const int n=6;

char mas[n][40]={"U lukomory dub zeleny;",

"Zlatay zep na dybe tom:",

"I dnem i nothy kot utheny",

"Wce hodit po zepi krugom;",

"Idet napravo pesn zavodit,",

"Nalevo skasku govorit." };

char *mass[]={"U lukomory dub zeleny;",

"Zlatay zep na dybe tom:",

"I dnem i nothy kot utheny",

"Wce hodit po zepi krugom;",

"Idet napravo pesn zavodit,",

"Nalevo skasku govorit." };

clrscr();

pe(mas,n);

po(mas,n);

pos(mas,n);

sor(mass,n);

system("pause");

return 0;

}

///////////////////////////////////////////////////////////

// Pe4at massiva

void pe(char mas[][40], int n ){

printf("--------------------------------------\n");

printf("--------------------------------------\n");

printf("--------------------------------------\n");

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

printf(" ");

printf("%s",mas[i]);

printf("\n");

}

printf("--------------------------------------\n");

printf("--------------------------------------\n");

printf("--------------------------------------\n");

}

//////////////////////////////////////////////////////////

//Pods4et predlozheni

int po(char mas[][40], int n ){

int k=0;

for (int i=0; i<n; i++){int j=0;

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

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

printf("K-vo predlogeniy = %i",k);

printf("\n");

return 0;

}

//////////////////////////////////////////////////////////

//Pods4et slov

int pos(char mas[][40], int n ){

int k=0;

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

int j=0;

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

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

k=k+n;

printf("K-vo slov = %i",k);

printf("\n");

return 0;

}

/////////////////////////////////////////////////////////

//Sortirovka po 1 bykve

int sor(char *mass[], int n ){

char *st;

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

for(int j=0;j<n-1; j++)

if(strcmp(mass[j],mass[j+1])>0)

{

st=mass[j];

mass[j]=mass[j+1];

mass[j+1]=st;}

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

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

return 0;

}