[ Foro de C++ ]

Menor y Mayor de una matriz

27-Sep-2021 10:38
Invitado (Carlos Miguel)
1 Respuestas

Buen día amigos,
Alguien quien me pueda ayudar indicandome mi error, tengo el siguiente código que lo que hace es solicitar datos de una matriz luego los suma y saca el promedio, luego de eso imprime el numero mayor de la matriz y el menor, con este ultimo es con el que tengo problema ya que se salta la línea, gracias por el apoyo.


#include <iostream>
#include <stdlib.h>
#include <stdio.h>

using namespace std;
int f = 0, //fila
	c = 0; //columna
int matrizcompleta = 0;

int maximo(int matrizcompleta)
{
	int suma = 0;
	int promedio = 0;

	cout << "INGRESE EL NUMERO DE FILAS" << endl;
	cin >> f;
	cout << "INGRESE EL NUMERO DE COLUMNAS" << endl;
	cin >> c;

	promedio = f * c;

	int matriz[100][200];
	int menor = matriz[0][0];
	int mayor = matriz[0][0];

	for (int i = 0; i < f; i++)
	{
		for (int j = 0; j < c; j++)
		{
			cout << "Digite un numero [" << i << "][" << j << "]: ";
			cin >> matriz[i][j];
			suma = suma + matriz[i][j];
			// Recorrer la matriz y comparar
			for (int i = 0; i < f; i++) {
				for (int j = 0; j < c; j++) {
					int elementoActual = matriz[i][j];
					if (elementoActual > mayor) mayor = elementoActual;
					if (elementoActual < menor) menor = elementoActual;
				}
			}
		}
	}
	// impresion de matriz
	cout << "\nMatriz Normal\n";
	for (int i = 0; i < f; i++)
	{
		for (int j = 0; j < c; j++)
		{
			cout << matriz[i][j] << " ";
		}
		cout << endl;
	}

	cout << "La suma de la matriz es: " << endl;
	cout << suma << endl;
	cout << "El promedio de la matriz es: " << endl;
	cout << suma / promedio << endl;
	printf("Mayor: %d\n", mayor);
	printf("Menor: %d\n", menor);
	return 0;

}
int main()
{
	cout << maximo(matrizcompleta) << endl;
}


 


28-Sep-2021 13:46
Nacho Cabanes (+84)

No entiendo a qué te refieres con que "se salta la línea". Tu programa no se salta nada, pero tiene un error lógico:


	int matriz[100][200];
	int menor = matriz[0][0];
	int mayor = matriz[0][0];



Estás tomando valores provisionales para máximo y mínimo antes de rellenar la matriz, por lo que, por lo general, tendrás resultados incorrectos.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)