Практические / Отчеты студентов 2011-2012 / ВТ-11 Лр / Тумор / Лабораторная №8
.docxМосковский Государственный Университет Леса
ФЭСТ ВТ-11
Лабораторная работа №8.
Программирование на языках высокого уровня
Тема: “ Строки”
Выполнил студент Тумор С.В.
Проверил Ларионов Н.В.
Москва 2012.
Вариант 18
Князю лебедь отвечает:
"Свет о белке правду бает;
Это чудо знаю я;
Полно, князь, душа моя,
Не печалься; рада службу
Оказать тебе я в дружбу".
С ободренною душой
Князь пошел себе домой;
Лишь ступил на двор широкий -
Ввести текст с клавиатуры или инициализировать массив строк:
Написать программу в виде функций
1. Вывести текст на экран, оформив его в красивый орнамент.
2. Подсчитать количество слов из двух букв в тексте.
3. Подсчитать количество знаков препинания в каждой строке.
4. Упорядочить текст по первой букве первого слова строки по
возрастанию.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{const int n=9;
int i;
char mas[n][]={“Knyzu lebed otvechaet:”,
“Svet o belke pravdu baet;”,
“Eto chudo znau ya;”,
“Polno, knyaz, dusha moya,”,
“Ne pechalsay; rada slugbu”,
“Okazat tebe ya v drugbu.”,
“S obodrennoyu dushoy”,
“Knyaz poshel sebe domoy;”,
“Lish stupil na dvor shiroky -”};
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");
system("pause");
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{const int n=9;
int i,j,k;
char mas[n][]={“Knyzu lebed otvechaet:”,
“Svet o belke pravdu baet;”,
“Eto chudo znau ya;”,
“Polno, knyaz, dusha moya,”,
“Ne pechalsay; rada slugbu”,
“Okazat tebe ya v drugbu.”,
“S obodrennoyu dushoy”,
“Knyaz poshel sebe domoy;”,
“Lish stupil na dvor shiroky -”};
k=0;
for (i=0; i<n; i++)
{j=0;
while (mas[i][j]!='\0')
{if(mas[i][j]==’ ‘ && mas[i][j+1]!==” ” && mas[i][j+2]!==” ” && mas[i][j]==’ ’)k++; j++;}
};
printf("K-vo slov iz 2-h bukv = %i \n",k);
system("pause");
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{const int n=9;
int i,j,k;
char mas[n][]={“Knyzu lebed otvechaet:”,
“Svet o belke pravdu baet;”,
“Eto chudo znau ya;”,
“Polno, knyaz, dusha moya,”,
“Ne pechalsay; rada slugbu”,
“Okazat tebe ya v drugbu.”,
“S obodrennoyu dushoy”,
“Knyaz poshel sebe domoy;”,
“Lish stupil na dvor shiroky -”};
k=0;
for (i=0; i<n; i++)
{j=0;
while (mas[i][j]!='\0')
{if(mas[i][j]==';' || mas[i][j]==',' || mas[i][j]=='.' || mas[i][j]=='-')k++; j++;}
};
printf("K-vo znakov prepinanya = %i \n",k);
system("pause");
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{const int n=9;
int I,j,k;
char *st;
char *mas[]={“Knyzu lebed otvechaet:”,
“Svet o belke pravdu baet;”,
“Eto chudo znau ya;”,
“Polno, knyaz, dusha moya,”,
“Ne pechalsay; rada slugbu”,
“Okazat tebe ya v drugbu.”,
“S obodrennoyu dushoy”,
“Knyaz poshel sebe domoy;”,
“Lish stupil na dvor shiroky -”};
for (i=0; i<n-1; i++)
for(j=0;j<n-1; j++)
if(strcmp(mas[j],mas[0])>0)
{
st=mas[j];
mas[j]=mas[0];
mas[0]=st;
};
for(i=0;i<n;i++)
puts(mas[i]);
system("pause");
return 0;
}