Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. Cerință: Se citește o matrice M[n,n] dintr-un fișier. Să se afiseze indicii acelor linii situate sub diagonala secundara care au toate valorile cu numar par de cifre.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
1
Gavrila Cristina Gabriela
Informatica Aplicata – 10LF392
return true;
return false;
}
int main()
{
int matrice[10][10], lineNumber, columnNumber, currentLine;
string filePathRead = "fileIn.txt";
readMatrixFromFile(matrice, lineNumber, columnNumber, filePathRead);
for (currentLine = 1; currentLine < lineNumber; currentLine++)
if (underSecondDiagonal(matrice, lineNumber, columnNumber, currentLine))
cout << "Linia " << currentLine + 1 << " are toate elementele de sub diagonala secundara cu numar par de cifre."<<'\n';
}
2
Gavrila Cristina Gabriela
Informatica Aplicata – 10LF392
2. Cerință: Se dă o matrice cu m linii şi n coloane având ca elemente valori de 0 şi 1 citită dintr-un fișier. Fiecare linie reprezintă câte un număr în baza 2. Să se afişeze aceste numere.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
int matrice[10][10], lineNumber, columnNumber, currentLine;
string filePathRead = "fileIn.txt";
readMatrixFromFile(matrice, lineNumber, columnNumber, filePathRead);
for (currentLine = 0; currentLine < lineNumber; currentLine++)
cout << transformNumberInBase10(matrice, columnNumber,currentLine)<<'\n';
}
3
Gavrila Cristina Gabriela
Informatica Aplicata – 10LF392
3. Cerință: Să se completeze elementele unei matrice de dimensiune n×n în modul următor: pe diagonala principală cu valoarea 1, pe semidiagonalele alăturate diagonalei principale
cu valoarea 2, pe următoarele semidiagonale valoarea 3 etc. Să se scrie această matrice într-un fișier.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
4
Gavrila Cristina Gabriela
Informatica Aplicata – 10LF392
int main()
{
int matrice[10][10], columnAndLineNumber;
string filePathWrite = "fileOut.txt";
cout << "Introduceti dimensiunea matricei patratice: ";
cin >> columnAndLineNumber;
generateFirstDiagonal(matrice, columnAndLineNumber);
generateAboveFirstDiagonal(matrice, columnAndLineNumber);
generateBelowFirstDiagonal(matrice, columnAndLineNumber);
writeMatrixToFile(matrice, columnAndLineNumber, columnAndLineNumber, filePathWrite);
}
5
Gavrila Cristina Gabriela
Informatica Aplicata – 10LF392
4. Cerință: Fiind dată o matrice pătratică (citită din fișier), să se calculeze suma elementelor pentru fiecare dintre cele 4 zone determinate de diagonala principală şi secundară.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
6
Gavrila Cristina Gabriela
Informatica Aplicata – 10LF392
int main()
{
int matrice[10][10], lineAndColumnNumber, sums[] = { 0,0,0,0 };
string filePathRead = "fileIn.txt";
readMatrixFromFile(matrice, lineAndColumnNumber, lineAndColumnNumber, filePathRead);
getSums(matrice, lineAndColumnNumber, sums);
writeSums(sums);
}
7
Gavrila Cristina Gabriela
Informatica Aplicata – 10LF392
5. Cerință: Se citește o matrice M[m,n] dintr-un fișier. Să se insereze inaintea fiecarei coloane care are primul element palindrom, o noua coloana care sa contina cel mai mare divizor
comun al elementelor coloanei respective. Să se scrie noua matrice într-un fișier.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
8
Gavrila Cristina Gabriela
Informatica Aplicata – 10LF392
void insertColumn(int matrice[][10], int lineNumber, int& columnNumber, int positionOfInsertedCollumn, int insertedNumber)
{
columnNumber++;
for (int currentLine = 0; currentLine < lineNumber; currentLine++)
for (int currentColumn = columnNumber - 1; currentColumn > positionOfInsertedCollumn; currentColumn--)
matrice[currentLine][currentColumn] = matrice[currentLine][currentColumn - 1];
for (int currentLine = 0; currentLine < lineNumber; currentLine++)
matrice[currentLine][positionOfInsertedCollumn] = insertedNumber;
}
9
Gavrila Cristina Gabriela
Informatica Aplicata – 10LF392
int main()
{
int matrice[10][10], lineNumber, columnNumber;
string filePathRead = "fileIn.txt";
string filePathWrite = "fileOut.txt";
readMatrixFromFile(matrice, lineNumber, columnNumber, filePathRead);
for (int currentColumn = 0; currentColumn < columnNumber; currentColumn++)
if (isPalindrom(matrice[0][currentColumn]))
{
insertColumn(matrice, lineNumber, columnNumber, currentColumn, greatestCommonFactorOfCollumn(matrice,lineNumber, currentColumn));
currentColumn++;
}
writeMatrixToFile(matrice, lineNumber, columnNumber, filePathWrite);
}
10
Gavrila Cristina Gabriela
Informatica Aplicata – 10LF392
6. Cerință: Se citește o matrice M[m,n] dintr-un fișier. Să se șteargă liniile din matrice care au toate elementele numere cu suma cifrelor pară. Să se scrie noua matrice într-un fișier.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
11
Gavrila Cristina Gabriela
Informatica Aplicata – 10LF392
int main()
{
int matrice[10][10], lineNumber, columnNumber;
string filePathRead = "fileIn.txt";
string filePathWrite = "fileOut.txt";
readMatrixFromFile(matrice, lineNumber, columnNumber, filePathRead);
for (int currentLine = 0; currentLine < lineNumber; currentLine++)
if (allHaveSumOfDigitsEven(matrice, columnNumber, currentLine))
{
deleteLine(matrice, lineNumber, columnNumber, currentLine);
currentLine--;
}
writeMatrixToFile(matrice, lineNumber, columnNumber, filePathWrite);
}
12
Gavrila Cristina Gabriela
Informatica Aplicata – 10LF392
7. Cerință: Se citește o matrice M[n,n] de la tastatura. Să se roteasca matricea cu 90 de grade, in sens trigonometric. Să se afișeze noua matrice în consolă.
#include <iostream>
13
Gavrila Cristina Gabriela
Informatica Aplicata – 10LF392
int main()
{
int matrice[10][10], lineAndColumnNumber;
readMatrix(matrice, lineAndColumnNumber);
transposeMatrix(matrice, lineAndColumnNumber);
switchColumns(matrice, lineAndColumnNumber);
writeMatrix(matrice, lineAndColumnNumber);
}
14
Gavrila Cristina Gabriela
Informatica Aplicata – 10LF392
8. Cerință: Să se sorteze elementele de pe diagonala secundară a unei matrice (citită din fișier) prin interschimbarea liniilor și coloanelor corespunzătoare elementelor. Să se scrie
noua matrice în același fișier.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
15
Gavrila Cristina Gabriela
Informatica Aplicata – 10LF392
16