Funkcja:
if(ile%2==0) { for(t=0;t<ile;t++) { bt=fopen("tow.txt","r"); zast=fopen("zast.txt","a"); for(i=0;i<ile;i++) { fscanf(bt,"%d,%s",&id,nazwatow); char *przecinek = strchr(nazwatow, ','); *przecinek = 0; przecinek++; liczbaszt = atoi(przecinek); i++; fscanf(bt,"%d,%s",&id1,nazwatow1); char *przecinek1 = strchr(nazwatow1, ','); *przecinek1 = 0; przecinek1++; liczbaszt1 = atoi(przecinek1); if(strcmp(nazwatow, nazwatow1)<0) { fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt); fprintf(zast,"%d,%s,%d\n",id1,nazwatow1,liczbaszt1); } else { fprintf(zast,"%d,%s,%d\n",id1,nazwatow1,liczbaszt1); fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt); } } fclose (bt); fclose (zast); remove("tow.txt"); rename("zast.txt","tow.txt"); bt=fopen("tow.txt","r"); zast=fopen("zast.txt","a"); fscanf(bt,"%d,%s",&id,nazwatow); char *przecinek = strchr(nazwatow, ','); *przecinek = 0; przecinek++; liczbaszt = atoi(przecinek); fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt); for(i=2;i<ile;i++) { fscanf(bt,"%d,%s",&id,nazwatow); char *przecine = strchr(nazwatow, ','); przecine++; liczbaszt = atoi(przecine); i++; fscanf(bt,"%d,%s",&id1,nazwatow1); char *przecinek1 = strchr(nazwatow1, ','); *przecinek1 = 0; przecinek1++; liczbaszt1 = atoi(przecinek1); if(strcmp(nazwatow, nazwatow1)<0) { fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt); fprintf(zast,"%d,%s,%d\n",id1,nazwatow1,liczbaszt1); } else { fprintf(zast,"%d,%s,%d\n",id1,nazwatow1,liczbaszt1); fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt); } } fscanf(bt,"%d,%s",&id,nazwatow); char *przecine = strchr(nazwatow, ','); przecine++; liczbaszt = atoi(przecine); fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt); fclose (bt); fclose (zast); remove("tow.txt"); rename("zast.txt","tow.txt"); } } else { for(t=0;t<ile;t++) { bt=fopen("tow.txt","r"); zast=fopen("zast.txt","a"); for(i=1;i<ile;i++) { fscanf(bt,"%d,%s",&id,nazwatow); char *przecinek = strchr(nazwatow, ','); *przecinek = 0; przecinek++; liczbaszt = atoi(przecinek); i++; fscanf(bt,"%d,%s",&id1,nazwatow1); char *przecinek1 = strchr(nazwatow1, ','); *przecinek1 = 0; przecinek1++; liczbaszt1 = atoi(przecinek1); if(strcmp(nazwatow, nazwatow1)<0) { fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt); fprintf(zast,"%d,%s,%d\n",id1,nazwatow1,liczbaszt1); } else { fprintf(zast,"%d,%s,%d\n",id1,nazwatow1,liczbaszt1); fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt); } } fscanf(bt,"%d,%s",&id,nazwatow); char *przecin = strchr(nazwatow, ','); *przecin = 0; przecin++; liczbaszt = atoi(przecin); fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt); fclose (bt); fclose (zast); remove("tow.txt"); rename("zast.txt","tow.txt"); bt=fopen("tow.txt","r"); zast=fopen("zast.txt","a"); fscanf(bt,"%d,%s",&id,nazwatow); char *przecine = strchr(nazwatow, ','); *przecine = 0; przecine++; liczbaszt = atoi(przecine); fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt); for(i=1;i<ile;i++) { fscanf(bt,"%d,%s",&id,nazwatow); char *przecine = strchr(nazwatow, ','); przecine++; liczbaszt = atoi(przecine); i++; fscanf(bt,"%d,%s",&id1,nazwatow1); char *przecinek1 = strchr(nazwatow1, ','); *przecinek1 = 0; przecinek1++; liczbaszt1 = atoi(przecinek1); if(strcmp(nazwatow, nazwatow1)<0) { fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt); fprintf(zast,"%d,%s,%d\n",id1,nazwatow1,liczbaszt1); } else { fprintf(zast,"%d,%s,%d\n",id1,nazwatow1,liczbaszt1); fprintf(zast,"%d,%s,%d\n",id,nazwatow,liczbaszt); } } fclose (bt); fclose (zast); remove("tow.txt"); rename("zast.txt","tow.txt"); } } bt=fopen("tow.txt","r"); for(i=0;i<ile;i++) { fscanf(bt,"%d,%s",&id,nazwatow); char *przecine = strchr(nazwatow, ','); przecine++; liczbaszt = atoi(przecine); printf("%d,%s,%d\n",id,nazwatow,liczbaszt); } fclose (bt);
Wypisuje mi podwójnie ostatnią zmienną w nieparzystych liniach i potrójnie w parzystych. Siedzę nad tym już dwie godziny i nic nie mogę dojrzeć pomógłby ktoś?