Logo Studenta

Buscar numero en matriz

Esta es una vista previa del archivo. Inicie sesión para ver el archivo original

/*
1. Explicacion del programa: Programa que llena una matriz con numeros y te dice cual es el numero repetido y cuantas veces
2. Analisis:
Datos de entrada: un conjunto de numeros
Datos de salida: el numero repetido y las veces que se repite
Proceso:
Restricciones:
3. Diseño: Pseudocódigo
inicio
definir matriz[5][5]<-{0}, i, j, num=0, cont=0 como entero
	para(i<-0 hasta i<5 con paso 1) hacer //llenando la matriz
		para(j<-0 hasta j<5 con paso 1) hacer
		escribir "Dame un número: "
		leer matriz[i][j]
		fin_para
	fin_para
	
	i<-0
	mientras(i<5) hacer
		j<-0
		mientras(j<5) hacer
			si(num=matriz[i][j]) entonces
			cont=cont+1
4. Prueba de escritorio
*/
#include <iostream>
#include <clocale>
#include <stdlib.h>
using namespace std;
void cabecera();
int main(){
	
	setlocale(LC_CTYPE, "Spanish");
	
	cabecera();
	int A[5][5], i, j, cont=0;
	for(i=0;i<5;i++){//Llenamos la matriz con numeros aleatorios
		for(j=0;j<5;j++){
			A[i][j]=rand()%10+1;
		}
	}
	cout<<"La matriz generada con números aleatorios es: \n";
	for(i=0;i<5;i++){//mostramos la matriz llena con numeros aleatorios
		for(j=0;j<5;j++){
			cout<<"["<<A[i][j]<<"]";
		}
		cout<<endl;
	}
	cout<<endl;	
	
	int B[25]={0}, v=0;
	for(i=0;i<5;i++){//Creamos un vector que va a almacenar los valores de la matriz pero en una
	//sola dimension
		for(j=0;j<5;j++){
			B[v]=A[i][j];
			v++;
		}
	}
	cout<<"El vector con los números de la matriz son: \n";
	for(i=0;i<25;i++){
		cout<<"["<<B[i]<<"]";
	}
	cout<<endl;
	cout<<endl;
	
	int save=0;
		for(i=0;i<25;i++){//Acomodando de menor a mayor
		if(i<24){
			if (B[i]>B[i+1]){
				save=B[i+1];
				B[i+1]=B[i];
				B[i]=save;
				save=0;
				i=-1;
			}
		}
	}
	
	cout<<"El vector con los números de la matriz acomodados de menor a mayor son: \n";
	for(i=0;i<25;i++){
		cout<<"["<<B[i]<<"]";
	}
	cout<<endl;
	cout<<endl;
	
	for(i=0;i<25;i++){
		int Rep=0;
		for(j=i+1;j<25;j++){
			if(B[i]==B[j]){
				Rep++;
			}
		}
		if(Rep>0){
			bool Enc=false;
			for(int k=0;k<i;k++){
				if(B[k]==B[i]){
					Enc=true;
					break;
				}
			}
			if(!Enc){
				cout<<"El número "<<B[i]<<" se repite "<<Rep+1<<" veces."<<endl;
			}
		}
	}
	return 0;
	
}
void cabecera(){
	cout<<"Programa que crea una martiz 5x5 pide llenarla y luego te muestra el número que está repetido y cuantas veces se repite.\n";
}

Continuar navegando

Contenido elegido para ti

multiplicar matriz

UV

User badge image

Andy Díaz

5 pag.
orden matriz

SIN SIGLA

User badge image

Jenifer Londo

256 pag.
ANALISIS NUMERICO BASICO

SIN SIGLA

User badge image

Karen Calderon

Otros materiales