Informatică, întrebare adresată de 33232iulian, 8 ani în urmă

fisierul matrice. in contine pe prima linie un nr natural n iar pe urmatoarele n randuri o matrice patratica de dimensiune n x n. afisati pe ecran elementele maxime situate pe diagonala principala sub diagonala principala si deasupra diagonalei principale


blbmatei: sugi ma pola jkgehrfijlge

Răspunsuri la întrebare

Răspuns de gabi54t
0

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("matrice.in")

int main ()

{

   int n, i, j, max1=-99999, max2=-99999, max3=-99999, a[100][100];

   f>>n;

   for(i=1; i<=n; i++)

   for(j=1; j<=n; j++)

       f>>a[i][j];

   for(i=1; i<=n; i++)

   for(j=1; j<=n; j++)

      {

         if(i==j)

          if(a[i][j]>max1)

           max1=a[i][j];

           

       if(i<j)

           if(a[i][j]>max2)

               max2=a[i][j];

       if(i>j)

       if(a[i][j]>max3)

           max3=a[i][j];

}

           

cout<<max1<<" "<<max2<<" "<<max3;

       

}

Explicație:

se declara variabilele apoi se citeste n din fisier, apoi matricea de n*n

se parcurge matricea si verifica in primul if, daca sunt pe diagonala principala, iar daca sunt, gaseste elementul maxim, apoi in al if(i<j), verifica daca sunt deasupra diagonalei principale si gaseste maximul, iar in if(i>j)

verifica daca sunt sub diagonala principala si gaseste maximul.

apoi afiseaza maximele (max1 este maximul de pe diagonala principala, max2 este maximul deasupra diagonalei, iar max3 este maximul sub diagonala principala)

sper ca ai inteles :D daca nu, poti sa lasi comm

Alte întrebări interesante