Практические / Отчеты студентов 2011-2012 / ВТ-12 ЛР / Смирнов / Laba_8 (2)
.docxМосковский государственный университет леса
Факультет электроники и системотехники
Лабораторная работа №8
Тема: Строки
Выполнил: Смирнов С.А.
Группа: ВТ-12
Москва 2012
Задание
В чешуе, как жар горя,
Тридцать три богатыря,
Все красавцы удалые,
Великаны молодые,
Все равны, как на подбор,
Ввести текст с клавиатуры или инициализировать массив строк:
Написать программу в виде функций
1. Вывести текст на экран оформив его в красивый арнамент.
2. Подсчитать количество слов начинающихся с заглавной буквы в
тексте.
3. Подсчитать количество точек в каждой строке.
4. Упорядочить текст по количеству пробелов в строке по
возростанию.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
const int n=5;
int j,i,k,m;
char c,*st;
char mas[n][40]={"V cheshue, kak zhar gora,",
"Tridsatj tri bogatyra, ",
"Vse krasavsy udalye, ",
"Velikany udalye, ",
"Vse ravny kak na podbor. "};
printf("--------------------------------------------\n");
printf("--------------------------------------------\n");
printf("--------------------------------------------\n");
for (i=0; i<n; i++){printf("*** ");
printf("%s",mas[i]);
printf(" ***\n");}
printf("--------------------------------------------\n");
printf("--------------------------------------------\n");
printf("--------------------------------------------\n");
k=0;
for (i=0; i<n; i++)
{
j=0;
while (mas[i][j]!='\0')
{
if(mas[i][j]=='V')
k++;
j++; }}
printf("K-vo slov na v = %i \n",k);
m=0;
for (i=0; i<n; i++)
{
j=0;
while (mas[i][j]!='\0')
{
if(mas[i][j]=='.')
m++;
j++; }}
printf("K-vo tochek = %i \n",m);
for (i=0; i<n-1; i++)
for(j=0;j<n-1; j++)
if(strcmp(mas[j],mas[j+1])>0)
{
st=mas[j];
mas[j]=mas[j+1];
mas[j+1]=st;
}
for(i=0;i<n;i++)
puts(mas[i]);
printf("%s",mas[i]);
system("pause");
return 0;
}