Leer dos matrices 5x5 enteros y determinar si el promedio de los mayores números primos por cada fila de una matriz es igual al promedio de los mayores números primos por cada columna de la otra matriz.
Y mi código es el siguiente:
Código
#include<iostream> using namespace std; main() { int matrix47[5][5],matrix[5][5],i,j,nd=0,k,acum,acum2,mayprimof,mayprimoc,promf,promc; cout<<"Ingrese 25 numeros de la primer matriz: "<<endl; for(i=0;i<5;i++) { cout<<"Fila "<<i+1<<endl; for(j=0;j<5;j++) { cout<<"Columna: "<<j+1<<endl; cin>>matrix47[i][j]; } } cout<<"Ahora ingrese 25 numeros para la segunda matriz: "<<endl; for(i=0;i<5;i++) { cout<<"Fila "<<i+1<<endl; for(j=0;j<5;j++) { cout<<"Columna: "<<j+1<<endl; cin>>matrix[i][j]; } } acum=0; mayprimof=0; for(i=0;i<5;i++) { for(j=0;j<5;j++) { nd=0; for(k=1;k<=matrix47[i][j];k++) { if(matrix47[i][j]%k==0) { nd++; } } if(nd==2) { if(matrix47[i][j]>mayprimof) { mayprimof=matrix47[i][j]; } } } acum=acum+mayprimof; promf=acum/5; } acum2=0; mayprimoc=0; for(i=0;i<5;i++) { for(j=0;j<5;j++) { nd=0; for(k=1;k<=matrix[j][i];k++) { if(matrix[j][i]%k==0) { nd++; } } if(nd==2) { if(matrix[j][i]>mayprimoc) { mayprimoc=matrix[j][i]; } } } acum2=acum2+mayprimoc; promc=acum2/5; } if(promf>promc) { cout<<"El promedio de los mayores numeros primos por fila de la primer matriz es mayor al promedio de los mayores numeros primos por columna de la segunda matriz"<<endl; cout<<" Promedio por fila: "<<promf<<endl; cout<<" Promedio por columna: "<<promc<<endl; } else if(promc>promf) { cout<<"El promedio de los mayores numeros primos por columna de la segunda matriz es mayor al promedio de los mayores numeros primos por fila de la primer matriz"<<endl; cout<<" Promedio por fila: "<<promf<<endl; cout<<" Promedio por columna: "<<promc<<endl; } else if(promf==promc) { cout<<"El promedio de los mayores numeros primos por fila de la primer matriz es igual al promedio de los mayores numeros primos por columna de la segunda matriz"<<endl; cout<<" Promedio por fila: "<<promf<<endl; cout<<" Promedio por columna: "<<promc<<endl; } }
Con la primer matriz no hay problema, me detecta los números primos, los suma y promedia normal, el error que tengo es con la segunda matriz, no sé qué números me esté sumando y promediando que no me da el promedio que debe de ser :/ , por ejemplo, uso estos números para las dos matrices:
Fila 1: 10 | 3 | 12 | 5 | 14
Fila 2: 15 | 7 | 8 | 9 | 11
Fila 3: 16 | 13| 18 | 20 | 24
Fila 4: 29 | 26 | 28 | 89 | 30
Fila 5: 32 | 59 | 131| 34 | 36
Para las filas me da un total de 249, dividiéndolos sobre 5 me da 49 como promedio.
Ahora para las columnas me da un total de 319 que sobre 5 debe de dar 63 pero me da 96 T.T
Pienso que ha de ser la forma de ubicar las posiciones en los ciclos pero lo he cambiado y nada, o tal vez ya me bloqueé , no sé Q.Q Si alguien puede apoyarme, se lo agradecería mucho <3