Ne este dată matrice C [n][m] de numere întregi, n,m<=100. Să se alcătuiască un program
pentru calcularea sumei şi numărul de elemente pare de pe prima şi ultima coloană,
utilizînd pointerii.
IN C imi trebuie
Răspunsuri la întrebare
#include <iostream>
using namespace std;
int main() {
int n, m;
cout << "Introduceti n si m: ";
cin >> n >> m;
int a[n][m];
// Citirea matricei
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> a[i][j];
}
}
// Calcularea sumei si numarului de elemente pare
int* p = &a[0][0]; // pointer catre primul element din matrice
int suma = 0;
int numarPare = 0;
for (int i = 0; i < n; i++) {
if (*p % 2 == 0) {
suma += *p;
numarPare++;
}
p += m - 1; // pointer catre ultimul element din coloana
}
// Afisarea rezultatelor
cout << "Suma elementelor pare din prima si ultima coloana este: " << suma << endl;
cout << "Numarul de elemente pare din prima si ultima coloana este: " << numarPare << endl;
return 0;
}
Explicație:
Se citește numărul de linii și coloane ale matricei.
Se declară și se citește matricea.
Se inițializează un pointer către primul element din matrice.
Se parcurg coloanele matricei, folosind pointerul pentru a accesa elementele din prima și ultima coloană.
Pentru fiecare element par din prima sau ultima coloană, se adaugă la suma și se incrementează numărul de elemente pare.
Se afișează suma și numărul de elemente pare găsite.