👤

sa se faca suma elementelor din matrice fara primele n cele mai mici elemente. n fiind citit de la tastatura ​

Răspuns :

#include <iostream>

using namespace std;

float a[100][100]; //Matricea principala

bool x[100][100]; //Matricea caracteristica

int main(){

unsigned ncol, nlin,i,j,n;

//Citire dimensiuni

cout << "Introduceti dimensiuni : ";

cin >> nlin >> ncol;

//Citire matrice

cout << "Introduceti matricea : \n";

for(i=0;i<nlin;i++){

 for(j=0;j<ncol;j++) cin >> a[i][j];

}

//Citire n

cout << "Introduceti n:";

cin >> n;

//Marcarea celor n elemente pentru ignorare

while(n){

 int poz=-1;

 //Determinarea pozitiei primului element nemarcat

 for(i=0;i<nlin*ncol;i++){

  if(x[i/nlin][i%nlin]==0){

   poz=i;

   break;

  }

 }

 //Determinarea pozitiei minimului

 for(i=0;i<nlin*ncol;i++){

  if(x[i/nlin][i%nlin]==0 && a[i/nlin][i%nlin] < a[poz/nlin][poz%nlin]){

   poz=i;

  }

 }

 //Marcare element minim

 x[poz/nlin][poz%nlin] = 1;

 //Decrementare numar de elemente ignorate

 n--;

}

//Determinare suma pentru elemente neingnorate

float s=0;

for(i=0;i<nlin;i++){

 for(j=0;j<ncol;j++){

  if(!x[i][j])s+=a[i][j];

 }

}

//Afisare rezultat

cout << "Suma : " <<  s;

}

Vezi imaginea Andrei750238