Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
14
Добавлен:
17.04.2015
Размер:
2.89 Кб
Скачать
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>

char strings[10][100];

void find_a();
void ornament();
void bukvy();
void vvod();
void uporyadochenie();

int i = 0;

int main()
{
    vvod();
    ornament();
    printf("\n");
    printf("dliny slov v tekste:\n");
    bukvy();
    printf("\n");
    printf("Kolichestvo bukv \'a\' v strokah:\n");
    find_a();
    printf("\n");
    uporyadochenie();
    getch();
    return 0;
}

void vvod()
{
     do {
      gets(strings[i]);
      i++;
    } while(strings[i-1][strlen(strings[i-1])- 1] != '.');
}

void bukvy()
{
    int j = 0;
    int n = 0;
    int ii,len;
    for(ii = 0;ii < i;ii++)
    {
           len = strlen(strings[ii]);
           while(j < len)
           {
            while(strings[ii][j] == ' ') j++;
            while(strings[ii][j] != ' ' && j < len)   
            {
             j++;
             n++;
            }
 
            while(strings[ii][j] == ' ') j++;
            printf("%d ",n);
            n = 0;
           }
            printf("\n");
            j = 0;
            n = 0;
    }
}


void ornament()
{
    int max_length = 0;
    int length = 0;
    int n,j,ii = 0;
    n = 0;
    j = 0;
    
    printf("\n\n");
    for(ii = 0;ii < i;ii++)
    {
           length = strlen(strings[ii]);
           if (length > max_length)
              max_length = length;
    }
    for(ii = 0;ii <= max_length + 2;ii++)
           printf("*");
    printf("\n");
    for(ii = 0;ii < i;ii++)
    {
           printf("*");
           strings[ii][strlen(strings[ii]) - 1] = '\0';
           printf("%s",strings[ii]);
           for(j = 0;j <= max_length - strlen(strings[ii]) - 1;j++)
             printf("*");
           printf("*\n");
    }
    for(ii = 0;ii <= max_length + 2;ii++)
           printf("*");
    printf("\n\n"); 
}

void find_a()
{
     int ii,j = 0;
     int n = 0;
     for(ii = 0;ii < i;ii++)
     {
            while(strings[ii][j] != '\0')
            {
              if (strings[ii][j] == 'a')
                n++;
              j++;
            }
            printf("%d\n",n);            
            j = 0;
            n = 0;
     }
}

void uporyadochenie()
{
     char buffer[100];
     char array1[10][100];
     int n,j,len,temp;
     int array[i];
     int ii;
     for(ii = 0;ii < i;ii++)
       array[ii] = strlen(strings[ii]);
     for(n = 0;n < i;n++)
       for(j = i - 1;j > n;j--)
       if (array[j - 1] > array[j])
       {
         temp = array[j-1];
         array[j-1] = array[j];
         array[j] = temp;
         
         strcpy(buffer,strings[j-1]);
         strcpy(strings[j-1],strings[j]);
         strcpy(strings[j],buffer);
       }
     for(ii = 0;ii < i;ii++)
       printf("%s\n",strings[ii]);
}
Соседние файлы в папке 8 лаба