Jump to content

Recommended Posts

Posted

Salut, cum citesc n numere dintr-un fisier? Am de rezolvat problema asta: Se citește nu număr natural N din fisierul FILE.DAT. Se citesc apoi N numere reale din acelasi fisier. Să se afișeze valoarea maximă din cele N numere.

Ma descurc sa o fac dar nu stiu cum sa citesc n numere...

Posted

Nu stiu de ce ai fisierul file.dat.

Eu am invatat cu file.in si file.out 

Poate merge si asa...

 

Citesti primul numar din acel fisier, care este N.

dupa faci un for de la 0 pana la N.

In acel for, dai comanda sa citesti un nr din fisier.

for-ul se repeta de N ori, citind N numere.

Treaba ta ce mai faci in rest cu numarul ala.

 

Uite cum as face eu, daca era fisier.in

ifstream in("fisier.in");   
in>>n;
for(i=0;i<=n;i++) 
{ 
   in>>x; 
 //poate vrei sa mai prelucrezi acel nr si sa-l afisezi, trebuie sa faci asta tot in for, de aia am pus acolade.
}
in.close();
Posted

Exemplu:

-iti trebuie biblioteca: #include<fstream>

 

ifstream f("input.in");
ofstream g("output.out");
 
f>> x;   => citesti variabila x din fisierul input
g<< x;  => afisezi variabila x in fisierul output

 

@Idd.man25: for-ul lui nu merge pana la n ci pana la n-1 (i=0;i<n;i++). Daca ar merge pana la n atunci el ar citi n+1 valori.

Posted

 

@Idd.man25: for-ul lui nu merge pana la n ci pana la n-1 (i=0;i<n;i++). Daca ar merge pana la n atunci el ar citi n+1 valori.

 

asa e, ma obisnuisem cu vectorii sa incep de la 0 :)) 

am facut un fel de corcitura.  

 

care e treaba cu fisier.dat oricum? 

el nu are .in

  • Moderators
Posted

asa e, ma obisnuisem cu vectorii sa incep de la 0 :)) 

am facut un fel de corcitura.  

 

care e treaba cu fisier.dat oricum? 

el nu are .in

 

Nu coneaza...

ifstream blablabla("numefisier.extensie");
Posted

Noi am facut ceva de genul :

 

Se citesc 2 numere întregi a şi b din fişierul intrare.txt. Să se afişeze pe ecran toate numerele
întregi dintre cele două numere.
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("intrare.txt"); //f- descriptor de fisier pentru citire
int minim, maxim, i, a,b;
int main ()
{
 f>>a>>b; // citire din fisier
 if (a>b)
 {
 minim = b;
 maxim = a;
 }
 else{
 minim = a;
 maxim = b;
 }
 for (i=minim;i<=maxim;i++)
 cout<<i<<" ";
 f.close( ); //se inchide fisierul intrare.txt
 return 0;
}

  • Upvote 1
Posted

Conteaza ca doar nu citesti variabile din orice tip de fisier. (alegi fiserul text in care ti-ai pus datele)

 

In principiu faci in fisier de tip text si ii pui un .in insa poti sa folosesti si altceva.

Citeste aici ca sa intelegi care e treaba cu .dat : http://pc.net/extensions/file/dat

 

Te contrazici singur.

Eu vreau sa citesc numere din fisierul Lord_Of_The_Rings.mkv. Este un fisier text in care mi-am pus datele. Ce ma opreste ?

Posted

E ok ce ai facut. Doar trebuie sa citesti prima oara n-ul din fisier , faci un for si dupa rezolvi chestia cu maximul.

 

Si cum fac sa il citesc ? Nu am priceput nimic la lectia asta.

Poti face un program deja rezolvat cu rezolvarea de la problema asta(facuta de mine) ca sa inteleg : .Se citește nu număr natural N din fisierul FILE.DAT. Se citesc apoi N numere reale din acelasi fisier. Să se afișeze toate numerele din fisierul FILE.DAT

 

PS. in fisierul FILE.DAT trebuie sa fie asa :

3 <- numarul elementelor
5 73 21 <- elementele

Cum fac ca sa citesc acele n numere ?

Posted

cum citesti un numar dintr-un fisier? 

Daca stii asta, citesti un numar. Dupa aceea faci un for astfel incat sa executi citirea de atatea ori cat zice numarul anterior.

 

Pai ce ar trebui sa contina for-ul ?

Posted

poti sa faci si asa:

#include<fstream>
ifstream f ("date.in");   /poti sa pui ce fisier vrei
int n,.....;         //variabilele de care ai nevoie
int main()
{
while(f>>n)    //asta se traduce cu cat timp se citeste din fisier
{  instructiuni
   .
   .
   .
   etc.
}

}

b_350_20_323957_202743_F19A15_111111.png

Posted

 

poti sa faci si asa:

#include<fstream>
ifstream f ("date.in");   /poti sa pui ce fisier vrei
int n,.....;         //variabilele de care ai nevoie
int main()
{
while(f>>n)    //asta se traduce cu cat timp se citeste din fisier
{  instructiuni
   .
   .
   .
   etc.
}

}

Mersi, dar Gods spunea ceva de un for :-?

  • Moderators
Posted

Pui for dacă ştii câte numere ai în fişier, gen

5 /* Sunt 5 numere */

9 85 45 78 981

Dar dacă ai gen

52 94 96 485 5 454 5 

Ori foloseşti ce a pus JustMagik, ori gen

#include <fstream>

std :: ifstream in ( "intrare.txt" );

int main ( void )
{
    int numar;

    while ( ! in.eof() ) /* Cat timp nu ajungi la sfarsitul fisierului */
    {
        in >> numar; /* citesti cate un numar */
        /**
         * Bla bla bla te joci cu numarul citit
         */
    }
    return 0;
}

 

Posted

 

Pui for dacă ştii câte numere ai în fişier, gen

5 /* Sunt 5 numere */

9 85 45 78 981

Dar dacă ai gen

52 94 96 485 5 454 5 

Ori foloseşti ce a pus JustMagik, ori gen

#include <fstream>

std :: ifstream in ( "intrare.txt" );

int main ( void )
{
    int numar;

    while ( ! in.eof() ) /* Cat timp nu ajungi la sfarsitul fisierului */
    {
        in >> numar; /* citesti cate un numar */
        /**
         * Bla bla bla te joci cu numarul citit
         */
    }
    return 0;
}

 

 

Mie imi trebuie asa 

5 /* Sunt 5 numere */

9 85 45 78 981
  • 1 month later...
Posted

 

Mie imi trebuie asa 

5 /* Sunt 5 numere */

9 85 45 78 981

 

Pai daca iti trebuie asa, faci cu for:

#include <fstream>

using namespace std;

ifstream ..
ofstream ..

int main() {
fin >> n;

for(int i = 1; i <= n; i++) {
   fin >> x;
   instructiuni ....
   ...
}


....
return 0;
}

Daca iti iese un program din prima, inseamna ca ceva e gresit...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.