Informatică, întrebare adresată de sikesjack1, 9 ani în urmă

Buna!
Ma poate ajuta cineva cu problema Eliminare3 de pe pbinfo?

#796 Eliminare3

Cerința
Se dă o matrice cu m linii și n coloane și elemente numere naturale cu cel mult patru cifre. Să se modifice matricea, eliminând penultima linie și penultima coloană.

Date de intrare
Programul citește de la tastatură numerele m n, iar apoi m*n numere naturale, reprezentând elementele matricei.

Date de ieșire
Programul va afișa pe ecran matricea obținută fiecare linie a matricei pe câte o linie a ecranului, elementele de pe aceeași linie fiind separate prin câte un spațiu.

Restricții și precizări
3 ≤ m,n ≤ 50

Exemplu
Intrare

4 5
5 1 2 3 4
8 2 2 5 3
2 1 7 3 9
3 0 9 8 5
Ieșire

5 1 2 4
8 2 2 3
3 0 9 5

Multumesc!

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
1

Răspuns:

#include <iostream>

using namespace std;

int main(){

int n, m, x;

cin >> n >> m;

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

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

cin >> x;

if(i != n-2 && j != m-2)

cout << x << ' ';

}

if(i != n-2) cout << '\n';

}

}

Explicație:

Se poate face si fara folosirea unei matrici, afisand valorile citite daca nu sunt de pe penultimul rand sau penultima coloana.

Răspuns de Petruccinator
0

#include <iostream>

#include <vector>

int main(){

   int m, n, i, j;

   std::cin >> m >> n;

   std::vector<std::vector<int>> vec(m);

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

       vec[i].resize(n);

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

           std::cin >> vec[i][j];

   }

   std::cout << '\n';

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

       if(i == m-2)

           continue;

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

           if(j != n-2)

               std::cout << vec[i][j] << ' ';

       std::cout << '\n';

   }

}

Alte întrebări interesante