Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Complexitatea algoritmului: O(nrLinii * nrColoane)
- #include <iostream>
- #include <fstream>
- void alocareMatrice(int**& matrice, int nrLinii, int nrColoane)
- {
- matrice = new int* [nrLinii];
- for (int index = 0; index < nrLinii; ++index)
- matrice[index] = new int[nrColoane];
- }
- void citire(int**& matrice, int& nrLinii, int& nrColoane)
- {
- std::ifstream fin("matrice.in");
- fin >> nrLinii >> nrColoane;
- alocareMatrice(matrice, nrLinii, nrColoane);
- for (int i = 0; i < nrLinii; ++i)
- for (int j = 0; j < nrColoane; ++j)
- fin >> matrice[i][j];
- }
- bool verifColoana(int** matrice, int nrLinii, int indiceColoana)
- {
- for (int index = 0; index < nrLinii; ++index)
- if (matrice[index][indiceColoana] == 0)
- return false;
- return true;
- }
- void adaugareCol(int** matrice, int**& rezultat, int nrLinii, int colCurenta, int index)
- {
- for (int index2 = 0; index2 < nrLinii; ++index2)
- rezultat[index2][colCurenta] = matrice[index2][index];
- }
- void afisare(int** matrice, int nrLinii, int nrColoane)
- {
- for (int i = 0; i < nrLinii; ++i, std::cout << std::endl)
- for (int j = 0; j < nrColoane; ++j)
- std::cout << matrice[i][j] << ' ';
- }
- int main()
- {
- int** matrice, nrLinii, nrColoane;
- citire(matrice, nrLinii, nrColoane);
- int** rezultat;
- alocareMatrice(rezultat, nrLinii, nrColoane);
- int contor = 0;
- std::cout << "Indicii coloanelor care au toate elementele nenule: ";
- for (int index = 0; index < nrColoane; ++index)
- if (verifColoana(matrice, nrLinii, index))
- {
- std::cout << index << ' ';
- adaugareCol(matrice, rezultat, nrLinii, contor, index);
- contor++;
- }
- std::cout << std::endl;
- std::cout << "Matricea rezultata (care contine doar coloanele cu toate elementele nenule): \n";
- afisare(rezultat, nrLinii, contor);
- for (int index = 0; index < nrLinii; ++index)
- delete[] matrice[index], rezultat[index];
- delete[]matrice, rezultat;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement