0
알파벳을 따라 단어를 정렬 할 수있는 프로그램을 만들어야합니다. 현재 작성한 프로그램은 단어를 정렬 할 수 있지만 새 줄 ('\ n')에있는 경우에만 가능합니다.알파벳으로 단어 정렬
줄에 더 이상있는 단어는 정렬되지 않습니다.
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#define SIZE 30
#define LEN 31
void bron (char *fnamer)
{
printf("\nGeef de naam van de in te lezen txt file: \n");
gets(fnamer);
//getchar(fnamer);
}
void uitgave (char *fnamer2)
{
printf("\nGeef de naam van de nieuwe geschreven txt file: \n");
gets(fnamer2);
//getchar(fnamer2);
}
int main()
{
char name[LEN][SIZE];
char hold[LEN] ;
int i,j ;
int last ;
FILE *fp;
FILE *fp2;
char ch;
char fnamer[1000];
char fnamer2[1000];
bron(fnamer);
fp=fopen(fnamer,"r");
if(fp==NULL)
{
printf("Error!");
exit(1);
}
uitgave(fnamer2);
fp2=fopen(fnamer2,"w");
if(fp2==NULL)
{
printf("Error!");
exit(1);
}
else
{
for(i = 0 ; !feof(fp) ; i++)
{
fgets(name[i] , LEN, fp);
}
last = i - 1 ;
fclose(fp);
for (i = last ; i > 0 ; i--)
for (j = 1 ; j <= i ; j++)
if (strcmp(name[j],name[j - 1]) < 0)
{
strcpy(hold,name[j]) ;
strcpy(name[j],name[j - 1]) ;
strcpy(name[j - 1],hold) ;
}
for (i = 0 ; i <= last ; i++)
{
printf("%s",name[i]) ;
// fprintf("%s", name [i]); herzien
}
}
printf("\n%s \t%s",fnamer,fnamer2) ;
//fprintf(fp, %s) ; // herzien
fclose(fp2);
return 0;
}
문제가 무엇입니까 : 여기
코드인가?
코드에서 텍스트 파일의 줄을 읽고 인쇄 할 단어의 정렬 목록을 파일로 인쇄/다시 쓰고 싶습니다. 모든 단어를 저장할 수 있으며 간단하게 거품 정렬을 적용 할 수 있습니다. –