Добавил:
okley
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:2 семестр / sr16
.c#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;
}
