Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Lucru cu fisiere C++  (Citit de 24827 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
TFifes
Strain
*

Karma: -20
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« : Iunie 26, 2009, 15:56:42 »

Salut!
Am o intrebare...
Cum citim de toate numerele (separate  de un spatiu)din fisierul  "bac txt"?
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #1 : Iunie 26, 2009, 16:00:39 »

Citat
#include<stdio.h>
int main()
{
int x;
freopen("bac.txt","r",stdin);
while(scanf("%d",&x)) prelucreaza_x();
return 0;
}
Memorat
TFifes
Strain
*

Karma: -20
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #2 : Iunie 26, 2009, 17:23:14 »

in C++ va rog

 Brick wall


Fişierul text NR.TXT conţine pe o singură linie, separate prin câte un spaţiu, cel mult 100 de
numere întregi, fiecare număr având cel mult 4 cifre. Scrieţi un program C++ care citeşte
numerele din fişierul NR.TXT

[editat de moderator] Nu mai posta consecutiv inutil. Editeaza-ti mesajele anterioare.


Fişierul text NR.TXT conţine pe o singură linie, separate prin câte un spaţiu, cel mult 100 de
numere întregi, fiecare număr având cel mult 4 cifre. Scrieţi un program C++ care citeşte
numerele din fişierul NR.TXT

[eidtat de moderator] Exista deja un topic pe aceasta tema.
« Ultima modificare: Iunie 26, 2009, 17:49:50 de către Sima Cotizo » Memorat
miculprogramator
Vorbaret
****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #3 : Iunie 26, 2009, 17:56:07 »

In c++ :

Cod:
ifstream f("bac.txt");
while (!f.eof() ) {f>>nr;n[nr++];} //asta ca sa stii cate ai in fisier
for (i=0;i<n;i++)
f>>nr;
f.close();


Daca stii cate nr ai in fisier ,de ex 2 nr a si b faci asa:

Cod:
ifstream f("bac.txt");
f>>a>>b;
f.close();
« Ultima modificare: Iunie 26, 2009, 19:34:18 de către miculprogramator » Memorat
sima_cotizo
Vorbaret
****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #4 : Iunie 26, 2009, 17:58:32 »

Cod:
ifstream f("bac.txt");
while (!f.eof() ) n++; //asta ca sa stii cate ai in fisier
for (i=0;i<n;i++)
f>>nr;
f.close();

Iti dai seama ca asta cicleaza de la primul while, nu? Smile

@Calin Florin: RTM, mai ales partea de "Return value"...  Rolling Eyes
Memorat
TFifes
Strain
*

Karma: -20
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #5 : Iunie 26, 2009, 17:59:12 »

Multumesc!
Memorat
alexandru92
Vorbaret
****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #6 : Iunie 26, 2009, 19:22:49 »

In c++ :

Cod:
ifstream f("bac.txt");
while (!f.eof() ) n++; //asta ca sa stii cate ai in fisier
Si c-am cand ajungi la eof? Huh
Dar de ce trebuie sa sti cate numere ai ,pur si simplu faci
Cod:
while(f>>n[i++]);
http://www.cplusplus.com/doc/tutorial/files/
Memorat
TFifes
Strain
*

Karma: -20
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #7 : Iunie 27, 2009, 12:27:39 »

Am inteles in mare parte......    Yahoo! Multumesc pentru ajutor!
Insa nu ma descurc la citirea dintr-un fisier: toate numerele de pe prima linie si de pe a sasea linie..... Brick wall
Memorat
TFifes
Strain
*

Karma: -20
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #8 : Iunie 27, 2009, 13:09:41 »

v-ati cam plictisit de mine.....................(nu prea agreati incepatorii Whistle)
Memorat
miculprogramator
Vorbaret
****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #9 : Iunie 27, 2009, 13:55:43 »

Banuiesc ca tu nu vrei sa citesti doar ce-i pe a 60a linie. Daca ai ceva de genul:

Cod:
6 //nr de linii ale fisierului
1
2
3
4
5
9 //si-l vrei pe 9 pentru ca e pe a 6-a linie citesti pana la sfarsit

Nu stiu daca am priceput exact ce vrei,dar spune si tu mai detaliat ce anume nu pricepi si arata cum ai incecat tu.
Uitate si pe link-ullui Alex. Wink
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #10 : Iunie 27, 2009, 14:07:42 »

Insa nu ma descurc la citirea dintr-un fisier.

Fara suparare, dar pentru asta sunt profesori de info. Ei (probabil) nu te pot pregati din pct de vedere algoritmic ( avansat ), insa din punct de vedere al limbajului te poti baza pe ei. Ca altfel, ne-am apuca sa postam toti intrebari de genul : "cum citesc de la tastatura?", "cum afisez pe ecran?", "ce face 'if'?", si transformam infoarena intr-un tutorial de invatare a limbajului c++.
Memorat
TFifes
Strain
*

Karma: -20
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #11 : Iunie 27, 2009, 15:19:53 »

Atunci care e rolul forumului ?
Din  spusele lui  Florin forumul e doar un element de design!
Deci ne pierdem timpul pe forumuri deoarece e un capriciu pueril..................... Read This!
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #12 : Iunie 27, 2009, 15:24:04 »

Forumul infoarena nu e un capriciu pueril Smile. El este destinat userilor care au nevoie de explicatii ulterioare asupra unui lucru pe care nu l-au inteles. Ceea ce intrebi tu ai putea gasi usor cautand pe google sau intr-o carte. Citeste si tu de acolo intai si vezi cum se face citirea dintr-un fisier si daca nu intelegi ceva intreaba aici si vei fi ajutat cu cea mai mare placere Smile
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #13 : Iunie 27, 2009, 15:28:44 »

Forumul infoarena nu este pentru intrebari foarte simple de limbaj. In mare parte, aici ne ocupam cu algoritmi, nu cu C++.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
TFifes
Strain
*

Karma: -20
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #14 : Iunie 27, 2009, 16:28:15 »

Bine!
Imi cer scuze daca v-ati irosit timpul raspunzand la intrebarile mele elementare..........
Sunt impresionat de solidaritatea voastra in descifrarea informaticii!
Succes!
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #15 : Iunie 27, 2009, 17:51:08 »

Sunt impresionat de solidaritatea voastra in descifrarea informaticii!
Eu sunt impresionat de roadele muncii profului tau de info.  Smile

Succes!
Multumim! Succes si tie!  Very Happy

ps: Nu vreau sa fiu rau ( proabil ca nimeni nu vrea ). Noi doar am incercat sa iti explicam de unde sa faci rost de notiuni despre limbajul c++, si de asemenea, ti-am explicat si ceea ce vei putea afla pe forumul infoarena.  Smile Numai bine!  Thumb up

Memorat
miculprogramator
Vorbaret
****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #16 : Iunie 27, 2009, 21:21:10 »

Poate proful/profa lui de info a facut totusi o treaba cu ei la clasa (sau poate nu).In orice caz nu stim,asa ca mai bine nu criticam prestatia profesorului.

Citat
Sunt impresionat de solidaritatea voastra in descifrarea informaticii!
Succes!

Cu asta sa inteleg ca ne parasesti?  Raised eyebrow

Invata mai bine elementele de sintaxa si apoi baga-te la probleme. BTW, have fun ! Smile
Memorat
alexandru92
Vorbaret
****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #17 : Iunie 28, 2009, 07:38:53 »

Am inteles in mare parte......    Yahoo! Multumesc pentru ajutor!
Insa nu ma descurc la citirea dintr-un fisier: toate numerele de pe prima linie si de pe a sasea linie..... Brick wall
citeste articolul si o sa afli cum Wink.
www.cplusplus.com/tutorial este un tutorial foarte bun pentru a invata notiunile de baza despre c++ si unele chestii mai avansate stl si oop
Memorat
miculprogramator
Vorbaret
****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #18 : Iulie 13, 2009, 17:09:08 »

Uite, am facut eu un mic rezumat despre fisiere. Sper sa te ajute...Smile
Memorat
Selony
Strain
*

Karma: -11
Deconectat Deconectat

Mesaje: 30



Vezi Profilul
« Răspunde #19 : Iulie 18, 2009, 11:20:32 »

Insa nu ma descurc la citirea dintr-un fisier.

Fara suparare, dar pentru asta sunt profesori de info. Ei (probabil) nu te pot pregati din pct de vedere algoritmic ( avansat ), insa din punct de vedere al limbajului te poti baza pe ei. Ca altfel, ne-am apuca sa postam toti intrebari de genul : "cum citesc de la tastatura?", "cum afisez pe ecran?", "ce face 'if'?", si transformam infoarena intr-un tutorial de invatare a limbajului c++.


Nu ar fi rau daca s-ar adauga asa cv:D :şi transformam infoarena intr-un tutorial de invatare a limbajului c++.
Memorat
miculprogramator
Vorbaret
****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #20 : Iulie 18, 2009, 14:15:02 »

Pai,daca am pricepu eu bine, rostul acestui site este de a pregatii elevii pentru concursurile de informatica.De a dezvolta gandirea algoritmica in special,nu de a-i invata pe elevi programare. Elemete de limbaj inveti la scoala sau de pe internet.


 Pe cplulsplus.com (mi se pare ca l-a scris cineva mai sus ) gasesti o gramada de tutoriale despre fiecare capitol al C++ -ului.


Enjoy your day. wink
Memorat
werth
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #21 : Ianuarie 21, 2012, 15:39:17 »

Salut sunt incepator si nu prea ma descurc cu algoritmi si as dori daca se poate sa imi dati si mie un algoritm care sa imi afiseze doar numerele prime dintr-un sir de numere va rog!
Multumesc!
Memorat
psycho21r
Client obisnuit
**

Karma: -15
Deconectat Deconectat

Mesaje: 74



Vezi Profilul
« Răspunde #22 : Ianuarie 22, 2012, 21:19:56 »

Poți verifica dacă un număr este prim, verificând dacă se împarte exact la vreun număr între 2 și radical din numărul de verificat. Dacă nu se împarte la nici unul dintre ele, atunci numărul este prim, în caz contrar, nu este.

Le verifici și dacă ai găsit vreun număr prim, îl afișezi.

O alternativă, depinzând de mărimea datelor de intrare, este să folosești ciurul lui Eratosthenes.

Dacă tot nu ai înțeles, revin-o cu întrebări.  Smile
Memorat
Bogdy4FuN
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« Răspunde #23 : Ianuarie 25, 2012, 22:44:01 »

Pentru citire, foloseste
Cod:
ifstream f("bac.in");
while(f>>n)
Memorat
Tany111
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #24 : Mai 21, 2018, 17:22:45 »

mă poate ajuta cineva la indentificarea greșelei în următorul cod(e doar o parte a codului integral)?
Mulțumesc mult!!!
int afisare() {
FILE *f;
f = fopen(fileName, "r");
if (f == NULL) {
printf("Nu exista fisierul!\n");
return 0;
}
fseek(f, 0, SEEK_END);
long fileSize = ftell(f);
if (fileSize == 0) {
printf("Fisierul este gol, introduceti datele in fisier\n");
} else {
long numberStruct = fileSize / (sizeof(struct Tara));
printf("\nLista tarilor\n\n");
printf(
"|=========================================================================================|\n");
printf("| %-2s | %-15s | %-15s | %-15s | %-10s | %-15s |\n", "Nr", "Nume", "Capitala", "Limba", "Continent", "populatie");
printf(
"|=========================================================================================|\n");
rewind(f);

d = 1;
for (int i = 0; i < numberStructs; i++)    {
struct Tara *taraPointer = malloc(sizeof(struct Tara));
fread(taraPointer, sizeof(struct Tara), 1, f);
printTara(taraPointer);
d++;
}
fclose(f);
}
return 1;
}
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines