Untitled

 avatar
unknown
plain_text
13 days ago
1.7 kB
16
Indexable
#include<iostream>
#include<iomanip>
using namespace std;

int main() {
	//Declaro variables escalares y arreglos
	int fila, colu, auxi, i, k;
	int bidi[100][100], uni[10000];
	

	//Pido datos al usuario
	do {
		cout << "Ingrese el numero de filas: ";
		cin >> fila;
		if (fila < 0 || fila>100) {
			cout << "Error: El dato ingresado es incorrecto."<<endl
				 << "Intente de nuevo, debe ser un numero mayor que 0 y menor o igual a 100."<<endl;
		}
	} while (fila < 0 || fila>100);

	do {
		cout << "Ingrese el numero de columnas: ";
		cin >> colu;
		if (colu < 0 || colu>100) {
			cout << "Error: El dato ingresado es incorrecto."<<endl
				<< "Intente de nuevo, debe ser un numero mayor que 0 y menor o igual a 100."<<endl;
		}
	} while (colu < 0 || colu>100);

	//Relleno la matriz
	cout << "Ingrese el elemento: "<<endl;
	for (int i = 0; i < fila; i++) {
		for (int j = 0; j < colu; j++) {
			cout << "("<<i + 1<<"/"<<j + 1 << "): ";
			cin >> bidi[i][j];
		}
	}

	//Transformo la matriz bidimensional a unidimensional
	k = 0;
	for (int i = 0; i < fila; i++) {
		for (int j = 0; j < colu; j++) {
			uni[k++] = bidi[i][j];
		}
	}
	int juntos = fila * colu;

	//Aplico método de la burbuja
	for (int i = 0; i < juntos; i++) {
		for (int j = 0; j < juntos - 1; j++) {
			if (uni[j] > uni[j + 1]) {
				auxi = uni[j];
				uni[j] = uni[j + 1];
				uni[j + 1] = auxi;
			}
		}
	}

	//Transformo a arreglo bidimensional
	k = 0;
	for (int i = 0; i < fila; i++) {
		cout << "| ";
		for (int j = 0; j < colu; j++) {
			bidi[i][j] = uni[k++];
			cout <<setw(4)<< bidi[i][j]<<" | ";
		}
		cout << endl;
	}
	return 0;
}
Leave a Comment