Úloha v C

Programovacie jazyky, rady, poradňa...
spike97
Star
Star
Používateľov profilový obrázok
Príspevky: 564
Registrovaný: 03 nov 2007, 0:51
Kontaktovať používateľa:

Úloha v C

Príspevok od používateľa spike97 »

Zdravím
Potreboval by som urobiť taký to program :

1.Načítať zo súboru VSTUP.TXT 10 čísiel (5 celých a 5 reálnych)
2.Vypočítať ich súčet a priemer
3.Zapísať súčet a priemer do súboru VÝSLEDOK.TXT

Ja nemám ani potuchy,ako to treba urobiť,tak preto prosím o pomoc.
Vopred ďakujem :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Úloha v C

Príspevok od používateľa audiotrack »

http://www.hojko.com/citajte-pred-zaloz ... 23064.html

Nežiadajte o riešenia domácich úloh, semestrálok alebo iných zadaní do školy. Môžete sa spýtať na čiastkový problém (prípadne sa spýtať na nájdenie chyby vo svojom riešení) ak neviete ako ďalej, ale bolo by dobre uverejniť čo ste zatial spravili.

minimálne načítanie zo súboru si skús spraviť, s ostatnými ti pomôžeme
spike97
Star
Star
Používateľov profilový obrázok
Príspevky: 564
Registrovaný: 03 nov 2007, 0:51
Kontaktovať používateľa:

Re: Úloha v C

Príspevok od používateľa spike97 »

Ospravedlňujem sa
Z programu mám tolko urobené a ani to neviem či ej dobre :

#include <stdio.h>
#include <conio.h>
#include <math.h> //toto ani neviem či tam treba

main()
{
int a,b,c,d,e;
float f,g,h,i,j,x,y;
clrscr();
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Úloha v C

Príspevok od používateľa audiotrack »

math.h ti netreba. Na súbory si pozri toto: http://www.cprogramming.com/tutorial/cfileio.html
keď to budeš mať načítané, zrátať a vydeliť počtom hádam zvládne každý. Z toho tutorialu sa naučíš aj ako sa zapisuje do súboru. Ak máš ale takéto zadanie, určite ste také niečo už robili takže si pozri aj veci zo školy
spike97
Star
Star
Používateľov profilový obrázok
Príspevky: 564
Registrovaný: 03 nov 2007, 0:51
Kontaktovať používateľa:

Re: Úloha v C

Príspevok od používateľa spike97 »

No keď mne sa to podarí urobiť,tak budem asi najšťastnejší človek :D

#include <stdio.h>
#include <conio.h>


main()
{
int a,b,c,d,e;
float f,g,h,i,j,x,y;
clrscr();

FILE *fp;
fp=fopen("c:\\VSTUP.txt", "w");
fprintf(fp, "VSTUP\n");

no tolko som doplnil...ale čo dalej?My v škole sa tomu vôbec nevenujeme,to učitel len teraz na pol rok dal zadanie a tolko.
BUde tma potreba aj použiť "scanf" aj ke dani neveim čo to je...ale to mi je nejak povedomé.
Toto by malo byť dobre?
scanf ("%d%d%d%d%d",&a,&b,&c,&d,&e,); :D
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Re: Úloha v C

Príspevok od používateľa chrono »

Prečo máš pri otváraní vstupného súboru atribút "w" (ty chceš ten súbor načítať a pritom fopen povieš, aby ten súbor otvoril pre zápis).
Čo vlastne je v tom súbore VSTUP.txt (sú tie čísla v jednom riadku...)?

PS: Ten tvoj program, čo si sem dal, sa ani nedá skompilovať.
spike97
Star
Star
Používateľov profilový obrázok
Príspevky: 564
Registrovaný: 03 nov 2007, 0:51
Kontaktovať používateľa:

Re: Úloha v C

Príspevok od používateľa spike97 »

No ja som z toho úplne mimo :?
Našiel som niečo,ale potreboval by som to nejak trocha prerobiť.Len ja neviem čo v tom môžem zmeniť a čo nie,aby to bolo funkčné.

chrono : tie čísla by mali byť pod sebou (že vraj sa tak ľahšie načítajú,alebo niečo také)

//autoeditácia príspevku (19 Jan 2010, 19:15)
Naozaj mi stým nechce pomôcť? :cry: Veď kto sa do toho rozumie,by to malo trvať len zopár minút.
Prílohy
dokument.doc
Toto by trebalo nejak prerobiť :)
(23 KiB) 14 stiahnutí
beluský
Darca
Darca
Používateľov profilový obrázok
Príspevky: 317
Registrovaný: 21 sep 2006, 13:46

Re: Úloha v C

Príspevok od používateľa beluský »

študuj:
http://www2.fiit.stuba.sk/~polcicova/PP ... dnaska.ppt

máš tam aj nejaké jednoduché príklady a hlavne "Vstup a výstup z textového súboru"
miki690
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1255
Registrovaný: 07 okt 2005, 22:07
Bydlisko: KE
Kontaktovať používateľa:

Re: Úloha v C

Príspevok od používateľa miki690 »

spike97 napísal:No keď mne sa to podarí urobiť,tak budem asi najšťastnejší človek :D

#include <stdio.h>
#include <conio.h>


main()
{
int a,b,c,d,e;
float f,g,h,i,j,x,y;
clrscr();

FILE *fp;
fp=fopen("c:\\VSTUP.txt", "w");
fprintf(fp, "VSTUP\n");

no tolko som doplnil...ale čo dalej?My v škole sa tomu vôbec nevenujeme,to učitel len teraz na pol rok dal zadanie a tolko.
BUde tma potreba aj použiť "scanf" aj ke dani neveim čo to je...ale to mi je nejak povedomé.
Toto by malo byť dobre?
scanf ("%d%d%d%d%d",&a,&b,&c,&d,&e,); :D
Na čo používaš conio.h ? na načítanie zo súboru použi fscanf(); http://www.manpagez.com/man/3/fscanf/ a určite to použi v cykle niečo na spôsob while(fscanf(fp,"%d",cislo)!=EOF || counter==5){fprintf(fp2,...); counter++;} nieje to dobre ale nechce sa mi písať celé riešenie presne čo a ako sa píše si nájdi v manuáloch... a vygoogliť sa dá všetko ... nezabudni na konci práce uzatvárať súbory funkciou fclose(fp); , lebo to môže (a pravdepodobne aj bude) robiť galibu
a nejake odkazy čo sa Ti zídu :
http://www.manpagez.com/man/3/fscanf/ -fscanf
http://www.manpagez.com/man/3/fprintf/ -fprintf
http://www.manpagez.com/man/3/fopen/ -fopen
Pilifo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 7001
Registrovaný: 12 okt 2007, 16:41
Kontaktovať používateľa:

Re: Úloha v C

Príspevok od používateľa Pilifo »

Použi princíp toho cyklu, čo sem hodil miki, ale zabudol podotknúť, že pre uloženie tých čísel musíš pri takomto riešení použiť statické pole. Skús to tak urobiť a ak nebudeš vedieť, tak Ťa ešte trochu nakopnem riešením :wink:

P.S.: miki, to by bolo, keby bolo niečo takéto ako projekt do IZP :D
miki690
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1255
Registrovaný: 07 okt 2005, 22:07
Bydlisko: KE
Kontaktovať používateľa:

Re: Úloha v C

Príspevok od používateľa miki690 »

Pilifo napísal:Použi princíp toho cyklu, čo sem hodil miki, ale zabudol podotknúť, že pre uloženie tých čísel musíš pri takomto riešení použiť statické pole. Skús to tak urobiť a ak nebudeš vedieť, tak Ťa ešte trochu nakopnem riešením :wink:

P.S.: miki, to by bolo, keby bolo niečo takéto ako projekt do IZP :D
teoreticky by nemusel pouzit pole ... potrebuje len sucet a priemer, cize staci, ked si bude v cykle priratavat do suctu nacitane hodnoty a potom to vydeli counterom a ma to ... este ma napadlo ze by mohol spravit 2 rovnake cykly jeden pre int a druhy pre float ...

oooch IZP to boli casy :D projekty mi vtedy dali dost zabrat, kedze som predtym C nikdy nevidel, ale teraz mi to pride celkom trivialne :P
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Re: Úloha v C

Príspevok od používateľa juho »

vo vstupnom subore mas nieco ako

Kód: Vybrať všetko

5 3 -1 4 6 5. 16.765 18.05 7. 88.23
pomocou 5x fscanf(vstup,"%i",&premenna) premenna je napr: typu int. nacitas tych 5 celych cisel a v cykle napr for budes mat za fscanfom premennu

Kód: Vybrať všetko

sum+=premenna;
potom do vystupneho suboru zapises vysledky prvej(celociselnej casti) fprintf(vysledky,"sucet: %f priemer: %f \n\r",sum,sum/(float)5); a to iste spravis aj s tou druhou castou len ta bude napr: typu float.
ci uz fscanf alebo scanf nacitava znaky dovtedy pokial nenarazi na prazdny znak (to moze byt medzera tabulator a co ja viem co este ....)
Napísať odpoveď