[ Trantor @ 08.01.2008. 12:49 ] @
Pozdrav,

Kao sto se iz naslova teme vidi treba mi neko ko moze da mi objasni kako da napravim program koji za zadatu kvadratnu matricu (n x n) izracunava broj negativnih elemenata iznad glavne dijagonale. Znaci elementi matrice se unose sa tastature a program posle utvrđuje koliko je negativnih elemenata iznad glavne dijagonale.

Hvala
[ laki_srt @ 08.01.2008. 14:00 ] @
Code:

#include<stdio.h>
int matrix[100][100];
int i,j,broj=0,n;
main(){
printf("Unesite dimenzije kvadratne matrice:");scanf("%d",&n);
printf("Unesite %d brojeva u matricu:\\n",n*n);
for(i=0;i<n;i++)
    for(j=0;j<n;j++)
        scanf("%d",&matrix[i][j]);
for(i=0;i<n;i++)
    for(j=1;j<n-i;j++)
        if(matrix[i][j]<0)
            broj++;
if(broj==0)
        printf("Iznad glavne dijagonale matrice se ne nalazi ni jedan negativan broj");
printf("Broj negativnih elemena iznad glavne dijagonale matrice je: %d",broj);
}
[ Trantor @ 08.01.2008. 14:37 ] @
Hvala na odgovoru. Ali ja tek sad vidim da sam temu potavio na pogresno mesto. Meni u stvari treba program u C++. Ovaj tvoj program radi odlicno. Možda je tebi poznat i C++. Evo ja imam kod koji uzima vrednosti za elemente matrice i štampa matricu na ekran. Jedino još ne mogu da ubacim deo koji izracunava broj negativnih elemenata iznad glavne dijagonale. Vidim da sam primenio istu logiku kao i ti u tvom programu ali to jednostavno ne funkcionise u mom programu. Evo mog koda pa ako si u mogucnosti da ga nadogradis bio bih ti vrlo zahvalan.

Code:



#include <iostream>

using namespace std;

int main()
{
   int i, j, n;
   cout << "Unestite dimenziju (n) kvadratne matrice:";
   cin >> n;
     
   int matrix[n][n];
   
   /* unos */ 
   
   for(i=0; i<n; i++)
      for(j=0; j<n; j++)
      {
         cout << "Unesi element A" << i+1 << j+1 << ":"; 
         cin >> matrix[i][j];
      }
   
   /* ispis */
   
   cout << endl;
   for(i=0; i<n; i++)
   {
      for( j=0; j<n; j++ )
         printf("%4d", matrix[i][j]);  /* Dali znas kako moze da se izbaci ova linija i primeni c++ komanda cout? Jer meni trebaju samo C++ komande a ne C komande */
         cout <<endl << endl;
   }
   system("pause");
}


Hvala još jednom.

[Ovu poruku je menjao Trantor dana 08.01.2008. u 16:57 GMT+1]
[ laki_srt @ 08.01.2008. 15:19 ] @
Ne znam bas c++,jedino sto sam radio u njemu je prog hello world i par sitnica,ali koliko se secam bilo bi vako nesto:
cout<<"matrica:"<<matrix[j]<<endl. Ako ti ovo ne uspe napisi tu da ti prebace temu u forum c++ tamo ce ti neko sigurno reci sta trebas
[ Trantor @ 08.01.2008. 15:54 ] @
OK posto je tema otvorena na pogresnom mestu molio bih nekog od administratora da je prebaci na "C++ za pocetnike". Hvala
[ butcher87 @ 09.01.2008. 06:58 ] @
Code:


#include<iostream.h>
int matrix[100][100];
int broj=0,n;

int main()
{
cout<<"Unesite dimenzije kvadratne matrice:"<<endl;
cin>>n;
cout<<"Unesite "<<n*n<< brojeva u matricu:"<<endl;
for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
        cin>>matrix[i][j];
for(int i=0;i<n;i++)
    for(int j=1;j<n-i;j++)
        if(matrix[i][j]<0)
            broj++;
if(broj==0)
    cout<<"Iznad glavne dijagonale matrice se ne nalazi ni jedan negativan broj"<<endl;

cout<<"Broj negativnih elemena iznad glavne dijagonale matrice je: "<<broj<<endl;

return 0;
}



Kod je netestiran. Inace, samo sam C kod od Laki_srt prepravio u CPP. Ovako nekako bi trebalo da izgleda...
[ Trantor @ 09.01.2008. 14:53 ] @
Butcher87: Imaš gresku u sledećuj liniji:
Code:

cout<<"Unesite "<<n*n<< brojeva u matricu:"<<endl;



fale navodnici ispred reci "brojeva. Ali na stranu to i kad se ispravi kod i kompjlira ne radi kako treba.
Cim uneses vrednosti za matricu on odmah izlazi i ne racuna broj negativnih elemenata. Mada i u onom gornjem
kodu koji je laki_srt napisao u C-u logika nije tacna tek sam posle video. Uvek gresi. U svakom slucaju hvala. :)
[ laki_srt @ 09.01.2008. 15:43 ] @
Moj program radi 100%,ako ne verujes skini ovo i pokreni,a tebi sto ono nece da radi pogledaj for petlje mozda si pogresio u uslovu koji zadajes za for petlje pa ti verovatno ni ne ulazi u njih
[ butcher87 @ 09.01.2008. 16:49 ] @
Ja nisam proveravao Lakijev kod, samo sam ga prepisao u CPP "duhu"...
[ Trantor @ 10.01.2008. 20:08 ] @
Da da shvatio sam sta si ti uradio ali eto nesto nije u redu sa njegovom logikom. Nema veze otvoricu novu temu na C++ forumu. :)