Pomoć pri zadatku iz c++

poruka: 3
|
čitano: 860
|
moderatori: DrNasty, pirat, Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
9 godina
neaktivan
offline
Greška u zadatku iz c++!!! Hitno

Zadatak: 

Učitati matricu mxn(m,n<=10), ispisati je u oblik tablice, napisati funkciju koja će pronaći i vratiti najmanji maksimum redova matrice ( najveci element svakog reda, i onda najmanji od tih brojeva)

 

Greške javlja u int najveci[n]. Greške koje javlja su na slici. 

Dali bi mi neko znao objasniti u čemu je kvaka i kako bi to trebalo ispraviti?

 

 

#include <iomanip>
#include <iostream>
#include <cmath>

using namespace std;

int main(){
int n, m, r, s;
cout << "unesi br.redaka <=10 matrice:";
cin >> n;
cout << "unesi br.stupaca <=10 matrice:";
cin >> m;
int A[9][9];
for (r = 0; r<n; r++){
for (s = 0; s<m; s++){
cout << "A[" << r + 1 << "][" << s + 1 << "]=";
cin >> A[r][s];
}
}
for (r = 0; r<n; r++){
for (s = 0; s<m; s++){
cout << setw(5) << A[r][s];
}
cout << endl;
}


int najveci[n];  //GREŠKA!!!!!!!!!!!!!!


for (int r = 0; r<n; r++){
najveci[n] = A[r][0];
for (s = 0; s<m; s++){
if (A[r][s]>najveci[n]){ najveci[n] = A[r][s]; }
}
cout << "najveci je:" << najveci[n] << endl;
}
int najmanji = najveci[0];
for (int i = 0; i<n; i++){
if (najveci[i]<najmanji){ najmanji = najveci[i]; }
}
cout << "najmanji maksimum je:" << najmanji;


return 0;
}

 

16 godina
neaktivan
offline
Pomoć pri zadatku iz c++

Pretpostavljam da C++, kao i C, zahtjeva da velicina polja mora biti konstantna vrijednost. To jest, u trenutku kompajliranja koda, velicina mora biti odredjena.

 

OT
1. Nemoj vise c/p kod bez formata ( iskoristi izbornik Formati kod pisanja poruke)

2. Falia si podforum, prvo potrazi da li vec postoji tema za tvoj problem. 

3. Ovaj tip greske kad googlas ce ti izac kao prvi ili drugi rezultat.

 

Koja je sad sema s navalon ljudi koji rade racun da bi postavili banalno pitanje?

 

9 godina
neaktivan
offline
Pomoć pri zadatku iz c++

U zadatku treba da nadjem vrh matrice prema metodi penjanje uz brdo ,da li neko zna kako izbjeci uporedjivanje kompleksnih varijabli.....

#include <iostream>
#include <vector>
#include <complex>
#include <stdexcept>

typedef std::vector<std::vector<int>> Matrica ;


std::complex<double> VrhMatrice (Matrica A,int p,int q){
std::complex<double> vrh;
int br_kolona(A[0].size());
for(int i=0;i<A.size();i++)
if(A[i].size()!=br_kolona) throw std::domain_error("Nekorektna matrica.");
if(p>A.size() || q>br_kolona || p<0 || q<0) throw std::range_error("Nekorektna pocetna pozicija.");
vrh=std::complex <double>(p,q);
for(;;){
int pom(0);
std::vector<int> v {A[vrh.real()-1][vrh.imag()],A[vrh.real()-1][vrh.imag()+1],A[vrh.real()][vrh.imag()+1],A[vrh.real()+1][vrh.imag()+1],A[vrh.real()+1][vrh.imag()],A[vrh.real()+1][vrh.imag()-1],A[vrh.real()][vrh.imag()-1],A[vrh.real()-1][vrh.imag()-1]};
std::vector<std::complex<double>> pozicija{(vrh.real()-1,vrh.imag()),(vrh.real()-1,vrh.imag()+1),(vrh.real(),vrh.imag()+1),(vrh.real()+1,vrh.imag()+1),(vrh.real()+1,vrh.imag()),(vrh.real()+1,vrh.imag()-1),(vrh.real(),vrh.imag-1),(vrh.real()-1,vrh.imag()-1)};

for(int i=0;i<v.size();i++){
if(vrh.real()==0 && vrh.imag()==0){
if(i==5)continue;
i+=2;
}
if(vrh,real()==0 && vrh.imag()!=0 && vrh.imag()!=br_kolona ){
if(i==7) continue;
i+=2;
}
if(vrh.real()==0 && vrh.imag()==br_kolona ){
if(i==7)continue;
i+=4;
}
if(vrh.imag()==br_kolona && vrh.real()!=A.size()-1 && vrh.real()!=0 && i==1) i+=3;
if(vrh.real()==A.size()-1 && vrh.imag()== br_kolona && i==1) i+=5;
if(vrh.real()==A.size()-1 && vrh.imag()!=0 && vr.imag()!=br_kolona && i==3) i+=3;
if(vrh.real()==A.size()-1 && vrh.imag()==0 && i==3 ) i+=5;
if(vrh.imag()==0 && vrh.real()!=0 && vrh.real!=A.size()-1 && i==5) i+=3;
if(v[i]>A[vrh.real()][vrh.imag()]){
vrh=pozicija[i];
for(int j=0;j<v.size(),j++){
if(v[j]>vrh) vrh=std::complex<double>(pozicija[j]);
}break;
}
else pom=1;
}
if(pom==1)break;
}
}
int main() {
std::cout << "Unesite dva cijela broja: ";
int m,n;
std::cin>> m>>n;
Matrica A(m,std::vector<int>(n));
std::cout << "Unesite elemente matrice:" << std::endl;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
std::cout << "Unesite A[" << i+1 <<"][" << j+1 <<"] element matrice: " ;
int x;
std::cin>>x;
A[i][j]=x;
}
}
std::cout << "Unesute dva broja:" ;
int p,q;
std::cin>>p >>q;
try{
std::complex<double> vrh(VrhMatrice(A,p,q));
std::cout << "Vrh matrice se nalazi na poziciji " << vrh <<" i njegova vrijednost je " << A[vrh.real()][vrh.imag()] << std::endl;
}
catch(std::domain_error izuzetak){
std::cout << izuzetak.what() << std::endl;
}
catch(std::range_error izuzetak){
std::cout << izuzetak.what() << std::endl;
}

return 0;
}

 

Unaprijed hvala svima 

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice