Dosyc skomplikowane zadanie, ktos zerknie?

0

Witam,
Mam do wykonania nastepujace zadanie:
user image
Zrobiłem taki kod, lecz dalej nie mam pomysłów co robić ;/

#include <stdio.h>
#include <string.h>
#define W 7
#define MAX_EL 20
int main()
{
    char nazwa1[]="Plik_do_zadania_nr_7.txt";
    char nazwa2[]="Plik_do_zadania_nr_7_drugi.txt";
    int i=0;
    int j=0;
    FILE *plik;                         //identyfikator pliku
    plik = fopen(nazwa1, "r");
    if(plik==NULL)
    {
        printf("Blad.");
        return 1;
    }
    FILE *plik2;
    plik2 = fopen(nazwa2, "w");
    if(plik2==NULL)
    {
        printf("Blad.");
        return 1;
    }
    char tab[W][MAX_EL];
    for(i=0; i<W; i++)
    {
        for(j=0; j<MAX_EL; j++)
        {
            tab[i][j]=fgetc(plik);
        }

    }
    printf("Sprawdzamy poprawnosc przyporzadkowania elementow z pliku do tablicy:\n");
    for(i=0; i<W; i++)
    {
        for(j=0; j<MAX_EL; j++)
        {
            printf("%c", tab[i][j]);
        }
    }
    printf("\nSprawdzamy sobie dlugosci poszczegolnych napisow i je zamieniamy:\n");    // TUTAJ ZACZYNAJA SIE PROBLEMY
    int length=0;
    for(j=0; j<MAX_EL; j++)
    {
        char c=tab[0][j];
        if(isalpha(c))
        {
            length++;
        }
    }
    printf("%d", length);
    fclose(plik);
    fclose(plik2);
    return 0;
}
0

Najprościej coś w ten deseń:

#include <stdio.h>
#include <string.h>
#define W 7
#define MAX_EL 20

int main()
  {
   char nazwa1[]="Plik_do_zadania_nr_7.txt",nazwa2[]="Plik_do_zadania_nr_7_drugi.txt";
   FILE *fin,*fout;
   struct { char line[MAX_EL+2]; } tab[W];
   int i,r,row;
   if(!(fin=fopen(nazwa1,"r"))) return fprintf(stderr,"Blad 1");
   if(!(fout=fopen(nazwa2,"w"))) return fprintf(stderr,"Blad 2");
   for(row=0;row<W;++row) if(!fgets(tab[row].line,MAX_EL+1,fin)) break;
   for(i=0;i<=MAX_EL;++i) for(r=0;r<row;++r) if(strlen(tab[r].line)==i+1) fputs(tab[r].line,fout);
   fclose(fout);
   fclose(fin);
   return 0;
  }

uwaga pisano "na kolanie".

1 użytkowników online, w tym zalogowanych: 0, gości: 1