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

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЛЕСА

Факультет электроники и системотехники.

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

по программированию на языке высшего уровня С

Тема: «Строки»

Выполнил студент: Галкин И.В. ВТ-11

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

Москва 2011

Что ж? под елкою высокой,

Видит, белочка при всех

Золотой грызет орех,

Изумрудец вынимает,

А скорлупку собирает,

Кучки равные кладет

И с присвисточкой поет

При честном при всем народе:

Во саду ли, в огороде.

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

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

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

2. Подсчитать количество слов из одной буквы в тексте.

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

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

Решение:

1.2.3.задания

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#include<string.h>

int main()

{

const int n=9;

int j,i,k;

char c,s[40];

char mas[n][40]={" Chto g ? pod elkou visokoi,",

" Vidit,belochka pri vsex",

" Zolotoi grizet orex,",

" Izumrudec vinimaet,",

" A skorlupku sobiraet,",

" Kuchki ravnie kladet",

" I s prisvistochkoi poet",

" Pri chestnom pri vsem narode:",

" Vo sadu li, v ogorode."};

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 (j=0;j<9;j++){

k=0;

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

s[i]=mas[j][i];

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

if(s[i]==' '&& s[i+2]==' ')

k++;

printf ("k=%i\n",k);}

for (j=0;j<9;j++){

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

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

printf("K-vo dvoetochii= %i \n",k);

system("pause");

return 0;

}

4 задание.

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#include<string.h>

int main()

{

const int n=9;

int j,i,k;

char c,*st;

char *mas[]={" Chto g ? pod elkou visokoi,",

" Vidit,belochka pri vsex",

" Zolotoi grizet orex,",

" Izumrudec vinimaet,",

" A skorlupku sobiraet,",

" Kuchki ravnie kladet",

" I s prisvistochkoi poet",

" Pri chestnom pri vsem narode:",

" Vo sadu li, v ogorode."};

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]);

system("pause");

return 0;

}