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

se considera tabloul bidimensional A cu dimensiunile de la 1..n cu numere reale unde n,m <=100.Sa se schimbe cu locul 1 si ultima linie


AntiEaglesDavids: poti dau un exemplu, nu am inteles cerinta

Răspunsuri la întrebare

Răspuns de Frost
0
Presupun ca prin sa se schimbe cu locul 1 si ultima linie te-ai referit la schimbarea primei linii cu ultima linie.

#include<iostream>
using namespace std;
int main() {
    int A[10][10], n, m, i, j, aux = 0;
    do {
        cin >> n >> m;
    } while (n > 101 && m > 101);
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
            cin >> A[i][j];
        for (j = 0; j < m; j++) {
                aux = A[0][j];
                A[0][j] = A[n-1][j];
                A[n - 1][j] = aux;
       
        }
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
            cout << A[i][j] << " ";
        cout << endl;
    }
    system("pause");
}


AntiEaglesDavids: vezi ca nu merge pentru n=4, m=4 ;) incearca sa-l faci doar cu un for nu 2
Frost: L-am modificat, acum merge si cu n=4 m=4 . Mersi ca mi-ai spus.
AntiEaglesDavids: incearca un pic si pentru n=4 si m=5 pt ca mie imi da ceva cam ciudat desi cred ca algoritmul e corect
AntiEaglesDavids: aa gata am gasit
AntiEaglesDavids: pune n - 1 in loc de m - 1 la loop
AntiEaglesDavids: la interschimbare
Frost: Am schimbat, dar nu inteleg. De ce nu mergea si cu m?
AntiEaglesDavids: pt ca vrei sa te duci pana la ultima linie (care e n - 1)
Frost: A acum am vazut.
Răspuns de AntiEaglesDavids
1
Daca vrei ceva mai scurt... dar oricum primul raspuns va fi mai optim pentru tine decat acesta.

#include<iostream>
#include<vector>
using namespace std;

int main()
{
    int n, m;

    cin >> n >> m;
    vector<vector<int>> A(n, vector<int>(m));

    for(int i=0; i<A.size(); i++)
        for(int j=0; j<A[i].size(); j++)
            cin >> A[i][j];

    swap(A[0], A[n-1]);

    for(int i=0; i<A.size(); i++) {
        for(int j=0; j<A[i].size(); j++)
            cout << A[i][j] << ' ';
        cout << '\n';
    }

    return 0;
}


Alte întrebări interesante