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

int WordsToArr(int n, char str[n][20],  char *arp[n]){
    for(int i=0; i<n; i++){
        gets(str[i]);
        if(str[i][0]=='\0') return(i);
        arp[i]=str[i];
    }
}
void SortArp(int n, char *arp[n]){
    int cord, FirstLet;
    char *WordPointer;
    for (int i=1; i<n; i++)
    {
        FirstLet = **(arp+i);
        WordPointer = *(arp+i);
        cord = i - 1;
        while(cord >= 0 && **(arp+cord) > FirstLet)
        {
            *(arp+cord+1) = *(arp+cord);
            cord = cord - 1;
        }
       *(arp+cord+1) = WordPointer;
    }
}
void PrintArp(int n, char *arp[n]){
    for(int i=0; i<n; i++){
            printf("%s\n", arp[i]);
    }
}
void FilePrintWords(int n, char str[n][20]){
    FILE *f;
    f=fopen("f.txt", "w");
    for (int i=0; i<n; i++){
            fprintf(f, "%s\n", str[i]);
    }
    fclose(f);
}
void FileRead_Sort(){
    FILE *f;
    f=fopen("f.txt", "r");
    int n=0, ch;
    while ((ch = getc(f)) != EOF){
        if((ch = getc(f)) == '\n') n++;
    }
    fclose(f);
    f=fopen("f.txt", "r");
    char str[n][20];
    char *arp[n];
    for (int i=0; i<n; i++){
        fscanf(f, "%s", str[i]);
        arp[i]=str[i];
    }
    fclose(f);
    SortArp(n, arp);
    printf("\n");
    PrintArp(n, arp);
}
int main()
{
    int n;
    char str[20][20];
    char *arp[20];
    n=WordsToArr(20, str, arp);
    SortArp(n, arp);
    PrintArp(n, arp);
    printf("\n");
    int words1=0, words2=0, words3=0;
    for(int i=0; i<n; i++){
        if(*arp[i]<=*arp[n/3+1]-1) words1++;
        else if (*arp[i]<=*arp[2*n/3]) words2++;
        else words3++;
    }
    printf("A-%c %d\n", *arp[n/3+1]-1, words1);
    printf("%c-%c %d\n", *arp[n/3+1], *arp[2*n/3+1]-1, words2);
    printf("%c-Z %d\n", *arp[2*n/3+1], words3);
    return 0;
}
Соседние файлы в папке 2 семестр