sau Inregistrare
  
Pagina 1 din 1
  • Nu poti crea un subiect nou
  • Nu puteti raspunde pe acest topic

alte probleme in mingw Evaluare topic: - - - - -

#1 Utilizator offline   Alex_here 

  • Ghiocel
  • Grup: Members
  • Mesaje: 3
  • Inregistrat: 06-April 11

Scris 06 April 2011 - 06:47 PM

cine imi zice si mie ce e gresit la programu asta?



#include<iostream>

using namespace std;

int a[101][101],n;

int cifr(int a,int n)
{int i,j,rez;
for(i=1;i<=n;i++)
{rez=0;
for(j=1;j<=n;j++)
if(a[i][j]>0)
rez++;
cout<<rez<<" ";
}
return 0;
}

int main()
{int i,j;
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
cout<<cifr(a,n);
return 0;
}


ar cam trebui sa afiseze numarul de numere pozitive de pe fiecare linie

Aceasta postare a fost editata de Alex_here: 06 April 2011 - 06:49 PM

0

#2 Utilizator offline   miruna86 

  • Garoafa
  • PipPip
  • Grup: Full Members
  • Mesaje: 50
  • Inregistrat: 27-April 07

Scris 07 April 2011 - 10:56 AM

Buna,

M-am uitat putin peste programul realizat si principalele greseli pe care le-am observat sunt urmatoarele:

1. Antetul functiei nu este corect. Tu vrei sa transmiti o matrice ca parametru insa in antet ai declarat doi parametrii de timpul int.
int cifr(int a,int n)
corect este (int a[101][101], int n).

2. In cazul in care folosesti functia asa cum este folosita in program pe langa numarul de numere pozitive de pe fiecare linie iti va afisa in coada si un zero, de la instructiunea reutrn. Eu am modificat functia astfel:
void cifr(int a[101][101],int n)
{int i,j,rez;
for(i=1;i<=n;i++)
{rez=0;
for(j=1;j<=n;j++)
if(a[i][j]>0)
rez++;
cout<<rez<<" ";
}
}

Adica am facut functia void. Asa returneaza doar numarul de numere pozitive din matricea transmisa ca parametru. Apelul functiei in main se va face astfel:
cifr(a,n);


Postez mai jos programul modificat
#include<iostream>

using namespace std;

int a[101][101],n;

void cifr(int a[101][101],int n)
{int i,j,rez;
for(i=1;i<=n;i++)
{rez=0;
for(j=1;j<=n;j++)
if(a[i][j]>0)
rez++;
cout<<rez<<" ";
}
}

int main(int argc, char **argv)
{
int i,j;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
 {
  cout<<"a["<<i<<"]["<<j<<"]=";
  cin>>a[i][j];
 }
}
  cifr(a,n);
  cin>>n;
return 0;
}


Inca o precizare. In cazul in care doresti sa considere si 0 ca numar pozitiv va trebui modificata conditia din if din:
if(a[i][j]>0)

in:
if(a[i][j]>=0)


Toate cele bune.
0

#3 Utilizator offline   Alex_here 

  • Ghiocel
  • Grup: Members
  • Mesaje: 3
  • Inregistrat: 06-April 11

Scris 08 April 2011 - 04:25 PM

am reusit sai dau de cap azi in clasa, oricum mersi pentru ajutor
0

#4 Utilizator offline   Alex_here 

  • Ghiocel
  • Grup: Members
  • Mesaje: 3
  • Inregistrat: 06-April 11

Scris 08 April 2011 - 07:04 PM

Inca un lucru cum pot sa citesc un text pe un numar necunoscut de linii dintr-un fisier ?

Aceasta postare a fost editata de Alex_here: 08 April 2011 - 07:12 PM

0

#5 Utilizator offline   miruna86 

  • Garoafa
  • PipPip
  • Grup: Full Members
  • Mesaje: 50
  • Inregistrat: 27-April 07

Scris 09 April 2011 - 08:58 PM

Vezi postareaAlex_here, la 08 April 2011 - 07:04 PM, a spus:

Inca un lucru cum pot sa citesc un text pe un numar necunoscut de linii dintr-un fisier ?


Buna seara,

Referitor la intrebarea de mai sus imi vin in minte doua variante :
1.
#include<iostream>
#include<fstream>


using namespace std;

int main() {

 ifstream myReadFile;
 myReadFile.open("C:\\text.txt");
 char output[1000];
 if (myReadFile.is_open())
{
 while (!myReadFile.eof())// Ia toate randurile pana la sfarsitul fisierului
{
    myReadFile >> output;//Salveaza toate randurile citite
    cout<<output;//Afiseaza randurile citite
}
}
myReadFile.close();
system ("pause");
return 0;
}


2.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

void main ()
{
    string STRING;
	ifstream infile;
	infile.open ("C:\\text.txt");
        while(!infile.eof()) // Ia toate randurile pana la sfarsitul fisierului
        {
	        getline(infile,STRING); //salveaza liniile citite in string
	        cout<<STRING; // Afiseaza stingul rezultat
        }
	infile.close();
	system ("pause");
}


Ambele variante fac exact acelasi lucru, depinde pe care doresti sa o folosesti.

Toate cele bune.
0

Reclama



Impartaseste acest subiect:


Pagina 1 din 1
  • Nu poti crea un subiect nou
  • Nu puteti raspunde pe acest topic


Subiecte similare Collapse

  Topic Deschis de Replici Vizualizari
Replici noi PHP Manual KeNeTix  5 11.639
Replici noi Help: numarare cuvinte dintr-un fisier text
in program c++ .. numarare cuvinte dintr-un fisier text
adytzul89  3 1.911
Replici noi Java
programare
505  6 9.536
Replici noi PHP5 - Programare Orientata pe Obiecte kimba  4 7.283
Replici noi CIneva sa imi construiasca o aplicatie de iphone -Xcode Sentiveanu. O  0 438