mithos [ Senator ]
właśnie siedze na egzaminie i pilnie potrzebuje pomocy z tp
Napisz program, który:
-wczytuje z pliku textowego liczby naturalne a i b;
-znajduje sumę liczb a i b
-zapisuje wynik w pliku textowym
WEJŚCIE
w każdym z dwóch tysięcy wierszy pliku terxtowego są zapisane dwie liczby naturalne z zakresu[1..255]oddzielone pojedyńczym odstepem-są to odpowiednio liczby a i b
WYJŚCIE
w każdym z dwóch tysięcy wierszy pliku textowego jest zapisana jedna liczba całkowita-suma liczb a i b
POMOCY!!!!!!!!!!!!!!!!!!!!!!
MacMus [ Centurion ]
Sproboj sobie to dostosowac :)) zlicza wszystko :> jestem zbyt zmeczony zeby go samemu dostosowac :) wygrzebalem to u siebie z dysku :> #include<stdio.h> class wyraz public: char lit[50]; int liczba; int ilosc; int powt; ; void wypisz(wyraz*,int,FILE*,int,int*); main() int wlwsp=0; //ilosc wyrozow o najwieszkszej dlugosci// int nlwsp=0; //ilosc wyrazow o namniejszej dlugosci// int wstat[10];//zapisanie w tabliy numeru i dlugosci najdluzszego wyrazu// int nstat[10]; int wskaznik=0; wyraz rr[50];//rekordwyrazow - max 55 wyrazow w pliku// int i; int c; FILE* plik; long tab[256];//spisanie literek // int lslow=0; int slowo=0; int llit=0; int j=0; int najw=0; //okresla dlugosc najwiekszego pliku// int najm=0; //okresla dlugosc najmniejszego pliku// for (i=0;i<51;i++) rr[i].liczba=0; rr[i].ilosc=1; plik=fopen("plik.txt","r+w"); if (plik==NULL) printf("Nie ma pliku do otwarcia"); return -1; for(i=0;i<256;i++) tab[i]=0; while((c=fgetc(plik))!=EOF) tab[c]++; if(c=='\n'||c=='\t'||c==' ') j=0; slowo=0; else if(!slowo) lslow++; slowo=1; rr[lslow-1].lit[j]=c; rr[lslow-1].liczba++; llit++; j++; for(i=0;i<lslow;i++) if(rr[i].liczba>najw) najw=rr[i].liczba; for(i=0;i<lslow;i++) if((rr[i].liczba)==najw) wstat[wlwsp]=i; wlwsp++; najm=rr[0].liczba; for(i=0;i<lslow;i++) if(rr[i].liczba<najm) najm=rr[i].liczba; for(i=0;i<lslow;i++) if((rr[i].liczba)==najm) nstat[nlwsp]=i; nlwsp++; for(i=0;i<lslow;i++) for(j=i+1;j<=lslow;j++) wskaznik=0; if(rr[i].liczba==rr[j].liczba) for(slowo=0;slowo<rr[i].liczba;slowo++) if (rr[i].lit[slowo]==rr[j].lit[slowo]) wskaznik++; if(wskaznik==rr[i].liczba) rr[i].ilosc++; rr[j].ilosc++; rr[j].powt++; fseek(plik,0,SEEK_END); fprintf(plik,"\n----------------------------------------\n"); fprintf(plik,"----- Podaje statystyke liter -----------"); for(i=0;i<255;i++) if((tab[i]!=0)&&(i!=' ')&&(i!='\t')&&(i!='\n')) fprintf(plik,"\n Litera %c wystapila : %d ",i,tab[i]); fprintf(plik,"\n------Podaje ogolna statystyke --------- \n W sumie liter jest %d",llit); fprintf(plik,"\n-Liczba slow wynosi : | %d |",lslow); fprintf(plik,"\n-Liczba Spacji to : | %d |",tab[' ']); fprintf(plik,"\n-Liczba tabulacji : | %d |",tab['\t']); fprintf(plik,"\n-Liczba nowych lini : | %d |",tab['\n']); fprintf(plik,"\n-Najwiekszy wyraz ma dlugosc : | %d |",najw); fprintf(plik,"\n-Najkrotszy wyraz ma dlugosc : | %d |",najm); fprintf(plik,"\n-Jest najdluzszych wyrazow : | %d |",wlwsp); fprintf(plik,"\n-Jest nakrotszysz wyrazow : | %d |",nlwsp); fprintf(plik,"\n-------------------------------"); fprintf(plik,"\n-----------Najwieksze--------"); wypisz(rr,wlwsp,plik,1,wstat); fprintf(plik,"\n----------Najmniejsze--------"); wypisz(rr,nlwsp,plik,1,nstat); fprintf(plik,"\n\n----------Statystyka poszczegolnych wyrazow----------- \n"); wypisz(rr,lslow,plik,0,0); fclose(plik); return 0; void wypisz(wyraz* rr,int gr,FILE* plik,int wybor,int* numer) int i; for (i=0;i<gr;i++) if (wybor==0) if((rr[i].ilosc!=1)&&(rr[i].powt==0)) fprintf(plik,"\n------- %s \n",rr[i].lit); fprintf(plik,"<------ wyraz wystepuje |%d|------------>",rr[i].ilosc); fprintf(plik,"\n|---------------------------------------|"); if(rr[i].ilosc==1) fprintf(plik,"\n------- %s --------\n",rr[i].lit); fprintf(plik,"<------ wyraz nie powtarza sie --------->"); fprintf(plik,"\n|---------------------------------------|"); if ((wybor==1)&&(rr[i].powt==0)&&(rr[i].ilosc!=1)) fprintf(plik,"\n%s",rr[numer[i]].lit);
MacMus [ Centurion ]
eee teraz to czytam i to nie to co chciales :)) ale masz przynajmniej instrukcje do wszytywania i wypuisywania w pliku :)
Hitmanio [ KG 21 ]
Macmus przynajmniej coz mu pomogles :-)
mithos [ Senator ]
MacMus ---> Dzieki jakoś się wybroniłem, także egzamin mam zaliczony, fakt faktem, że go sobie olałem, ale egzaminy na prawie ważniejsze !!!