Salve ragazzi, come da titolo avrei problemi nello svolgimento del seguente esercizio:
Seguendo i principi della programmazione strutturata e della modularità, si sviluppi un programma in C/C++ che:
richieda all’utente di inserire da tastiera una matrice 3x3 di numeri interi;
richieda all’utente di inserire da tastiera un numero intero;
in un sottoprogramma, calcoli la frequenza del numero inserito nell’intera matrice;
in un altro sottoprogramma, calcoli la frequenza del numero inserito per ciascuna riga della matrice inserita; visualizzi a video i risultati.
Per i punti 1 e 2 non ho problemi, per il punto 3 sono riuscito ad impostare il sottoprogramma ma alcune volte non mi calcola in modo giusto la frequenza, mentre per il punto 4 non ho idea di come poterlo impostare.
Grazie in anticipo per eventuali suggerimenti
Seguendo i principi della programmazione strutturata e della modularità, si sviluppi un programma in C/C++ che:
richieda all’utente di inserire da tastiera una matrice 3x3 di numeri interi;
richieda all’utente di inserire da tastiera un numero intero;
in un sottoprogramma, calcoli la frequenza del numero inserito nell’intera matrice;
in un altro sottoprogramma, calcoli la frequenza del numero inserito per ciascuna riga della matrice inserita; visualizzi a video i risultati.
Per i punti 1 e 2 non ho problemi, per il punto 3 sono riuscito ad impostare il sottoprogramma ma alcune volte non mi calcola in modo giusto la frequenza, mentre per il punto 4 non ho idea di come poterlo impostare.
C++:
#include <iostream>
#define N 10
#define M 10
using namespace std;
typedef float matrice[N][M];
void cerca_elemento (matrice, int dim_r, int dim_c, int elemento, int& quanto);
int main() {
matrice m;
int dim_r, dim_c, quanto;
int elemento;
int i,j;
cout << "Numero di righe: ";
cin >> dim_r;
cout << "Numero di colonne: ";
cin >> dim_c;
for(int i = 0; i < dim_r; i++) {
for(int j = 0; j < dim_c; j++) {
cout << "m[" << i+1 << "][" << j+1 << "]: ";
cin >> m[dim_r][dim_c];
}
}
cout << "Inserisci numero da cercare ";
cin >> elemento;
cerca_elemento (m,dim_r,dim_c,elemento,quanto);
if (quanto == 0 ){
cout << " elemento non ci sta" << endl;
}
else{
cout <<" Il numero "<< elemento << "è stato trovato " << quanto+1 << " volte " << endl;
}
return 0;
}
void cerca_elemento (matrice m, int dim_r, int dim_c, int elemento, int& quanto){
quanto=0;
for(int i = 0; i < 10; i ++) {
for(int j = 0; j < 10; j++) {
if(elemento== m[i][j]) {
quanto= quanto +1 ;
}
}
}
}
Grazie in anticipo per eventuali suggerimenti