GRY-Online.pl --> Archiwum Forum

właśnie siedze na egzaminie i pilnie potrzebuje pomocy z tp

18.06.2002
17:04
[1]

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!!!!!!!!!!!!!!!!!!!!!!

18.06.2002
17:40
smile
[2]

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); › ›

18.06.2002
17:41
smile
[3]

MacMus [ Centurion ]

eee teraz to czytam i to nie to co chciales :)) ale masz przynajmniej instrukcje do wszytywania i wypuisywania w pliku :)

18.06.2002
17:43
[4]

Hitmanio [ KG 21 ]

Macmus przynajmniej coz mu pomogles :-)

19.06.2002
07:54
[5]

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 !!!

© 2000-2024 GRY-OnLine S.A.