Практические / Отчеты студентов 2011-2012 / ВТ-11 Лр / Красных / Лабораторная работа №8
.docМосковский Государственный Университет Леса
ФЭСТ ВТ-11
Лабораторная работа №8.
Программирование на языках высокого уровня
Тема: “Строки”
Выполнил студент Красных В.Ю.
Проверил Ларионов Н.В.
Москва 2012.
1. Условия задания:
У лукоморья дуб зеленый;
Златая цепь на дубе том:
И днем и ночью кот ученый
Всё ходит по цепи кругом;
Идет направо — песнь заводит,
Налево — сказку говорит.
Ввести текст с клавиатуры или инициализировать массив строк:
Написать программу в виде функций.
-
Вывести текст на экран оформив его в красивый арнамент.
-
Подсчитать количество предложений в тексте.
Подсчитать количество слов в тексте.
Упорядочить текст по первой букве строки по возростанию.
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;
}