Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Практические / Отчеты студентов 2011-2012 / ВТ-11 Лр / Сорокин / Лабораторные / STROKI
.CPP#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#define N 5
int spaces[N];
char* mas[N] = { "V cheshue, kak jar gorya,\0",
"Tridcat tri bogatyrya,\0",
"Vse krasavcy udalye,\0",
"Velikany molodye,\0",
"Vse ravny,kak na podbor,\0h",
};
void out_strings(char* mas[]);
void out_strings(char mas[N][40]);
int find_lit_upper(char* mas[]);
int find_lit_sep(char* mas[]);
void find_spaces_in_strings(char* mas[],int spaces[]);
void find_dots_in_strings(char* mas[],int spaces[]);
void sort_text(char* mas[],char mas1[N][40],int spaces[]);
int main()
{
char mas1[N][40];
out_strings(mas);
int k = find_lit_upper(mas);
printf("Chislo zaglavnyh bukv %d\n",k);
find_dots_in_strings(mas,spaces);
printf("Kolichesrvo tochek v tekste:\n");
for(int i = 0;i < N;i++)
{
printf("%d",spaces[i]);
}
find_spaces_in_strings(mas,spaces);
sort_text(mas,mas1,spaces);
out_strings(mas1);
getch();
return 0;
}
void out_strings(char* mas[])
{
printf("======================================\n");
printf("======================================\n");
printf("======================================\n");
for(int i = 0;i < N;i++)
{
printf("*** ");
printf("%s",mas[i]);
int s = strlen(mas[i]) + 4;
s = 31 - s;
for (int j = 0;j < s;j++)
printf(" ");
printf(" ***\n");
}
printf("======================================\n");
printf("======================================\n");
printf("======================================\n");
}
void out_strings(char mas[N][40])
{
printf("======================================\n");
printf("======================================\n");
printf("======================================\n");
for(int i = 0;i < N;i++)
{
printf("*** ");
printf("%s",mas[i]);
int s = strlen(mas[i]) + 4;
s = 31 - s;
for (int j = 0;j < s;j++)
printf(" ");
printf(" ***\n");
}
printf("======================================\n");
printf("======================================\n");
printf("======================================\n");
}
int find_lit_upper(char* mas[])
{
int k = 0,i = 0,j = 0;
for(i = 0; i < N;i++)
{
j = 0;
while(mas[i][j] != '\0')
{
if (isupper(mas[i][j]))
k++;
j++;
}
}
return k;
}
int find_lit_sep(char* mas[])
{
int k = 0,i = 0,j = 0;
for(i = 0; i < N;i++)
{
j = 0;
while(mas[i][j] != '\0')
{
if (mas[i][j] == '.')
k++;
j++;
}
}
return k;
}
void find_spaces_in_strings(char* mas[],int words[])
{
int i,j,k;
for(i = 0;i < N;i++)
{
k = 0;
j = 0;
while(mas[i][j] != '\0')
{
if (mas[i][j] == ' ')
k++;
j++;
}
words[i] = k;
}
}
void find_dots_in_strings(char* mas[],int words[])
{
int i,j,k;
for(i = 0;i < N;i++)
{
k = 0;
j = 0;
while(mas[i][j] != '\0')
{
if (mas[i][j] == '.')
k++;
j++;
}
words[i] = k;
}
}
void sort_text(char* mas[],char mas1[N][40],int spaces[])
{
int temp;
char buffer[120];
for(int i = 0;i < N ;i++)
{
strcpy(mas1[i],mas[i]);
}
for (i = 0;i < N - 1;i++)
{
for(int j = N - 2;j >= i;j--)
{
if (spaces[j] > spaces[j+1])
{
temp = spaces[j];
spaces[j] = spaces[j+1];
spaces[j+1] = temp;
strcpy(buffer,mas1[j]);
strcpy(mas1[j],mas1[j+1]);
strcpy(mas1[j+1],buffer);
}
}
}
}
Соседние файлы в папке Лабораторные