Informatică, întrebare adresată de iontatarugames, 8 ani în urmă

. Să se ordoneze liniile tabloului în ordinea ascendentă a numărului de elemente pozitive în fiecare linie,sortare prin metoda bulelor (Bubble Sort).Scrieți un program care citește de la tastatură numărul n>1 de rânduri și numărul m>1 de coloane ale tabloului bidimensional (mnatricei), apoi citește de la tastatură aceste n X m elemente ale tabloului,si efectuează calculele,și afișează pe ecran rezultatul In C/C++ dau coroana ca fiind cel mai bun raspuns de nota 10


medeeaboamfa: Se poate rezolva si prin sunctii?
medeeaboamfa: functii
iontatarugames: da
iontatarugames: se poate
iontatarugames: in limbajul c
medeeaboamfa: C nu stiu dar il pot face in C++
iontatarugames: Nici o problema fa in c++
iontatarugames: Dar în limbajul c se incepe cu algoritm.h,studio.h și math.h
iontatarugames: Iar în c++ se începe cu iostream mai bine fa cu iostream
medeeaboamfa: nu ii dau de cap dar daca te ajuta iti trimit ce am lucrat pana acum si rogi un profesor sa te corecteze

Răspunsuri la întrebare

Răspuns de medeeaboamfa
0

Răspuns:

Explicație:

#include <iostream>

using namespace std;

///  Să se ordoneze liniile tabloului în ordinea

///ascendentă a numărului de elemente pozitive în fiecare linie,sortare prin metoda bulelor (Bubble Sort).

int a[100][100],n,m;

void citire()

{

   cin>>n>>m;

   for(int i=0 ;i< n ; i++)

   for(int j=0 ; j< m ; j++)

       cin>>a[i][j];

}

int linie(int i)

{int nr=0;

for( int j=0 ; j<m; j++)

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

       nr++;

 return nr;

}

void interschimbare_linii(int i)

{int aux;

   for(int j=0 ; j<m; j++)

   {

       aux=a[i][j];

       a[i][j]=a[i+1][j];

       a[i+1][j]=aux;

   }

}

void sortare()

{int ok;

do{

   ok=0;

  for(int i=0 ;i<n-1 ; i++)

   if(linie(i)<linie(i+1))

             {interschimbare_linii(i);

             ok=1;

             }

}while(ok==1);

}

void afisare()

{

  for(int i=0 ;i< n ; i++)

  {

      for(int j=0 ; j< m ; j++)

       cout<<a[i][j]<<" ";

   cout<<endl;

  }

}

int main()

{

   citire();

   sortare();

   afisare();

   return 0;

}

Alte întrebări interesante