Untitled
unknown
plain_text
a year ago
3.4 kB
5
Indexable
#include <iostream> // Incluir la biblioteca de entrada y salida estándar
using namespace std;
char menu();
void escribeVector(float* vec, int size);
int main() {
const int TAM=4;
float v1[TAM];
char option = menu();
do {
cout << "Opción seleccionada" << option << endl;
switch(option) {
case 'A':
cout << "Opción A crear" << endl;
cout << "Escribe los "<< TAM << " elementos del vector:" << endl;
for(int i=0;i<TAM;i++){
cout << "Dime el elemento " << i << ": ";
cin >>v1[i];
cin.ignore();
}
cout << endl;
break;
case 'B':
cout << "Opción B ver" << endl;
escribeVector(v1, TAM);
break;
case 'C':
cout << "Opción C - ordenar" << endl;
cout << "Se empieza con " << endl;
// START: ESto es solo para que lo veamos visualmente
escribeVector(v1, TAM);
// END: ESto es solo para que lo veamos visualmente
for(int i=0;i<TAM;i++){
// este primer for va a comparar cada posición con el resto a la derecha
cout << "Comparar el valor [" << i << "]: " << v1[i] <<" con: " << endl;
for(int j=i+1;j<TAM;j++){
// este segunda se encarga de que cada uno de la derecha del priemr for se peuda compara
cout << " * el valor [" << j << "]: " << v1[j] << "... " << endl;
if (v1[j]<v1[i]) {
// si entra aqui es porque los valores del siguiente son más pequeños y debe intercambiarlos
cout << " !! como " << v1[j] << " es menor que " << v1[i] << " se intercambian...";
float temporal = v1[i];
// hace falta un temporal para no perder uno de los valores
v1[i] = v1[j];
v1[j] = temporal;
cout << " y el vector queda como ";
// START: ESto es solo para que lo veamos visualmente
escribeVector(v1, TAM);
// END: ESto es solo para que lo veamos visualmente
}
}
}
cout << endl;
break;
default :
cout << "Opción no válida, elige otra" << endl;
break;
}
option = menu();
} while (option != 'D');
return 0; // Retornar 0 para indicar que el programa terminó correctamente
}
void escribeVector(float* vec, int size) {
cout << "[";
for(int i=0; i<size; i++){
cout << vec[i];
if (i < size-1) {
cout << ", ";
}
}
cout << "]";
cout << endl;
}
char menu() {
char option;
cout << endl;
cout << "************ MENU ********************" << endl;
cout << "* A.- Rellena" << endl;
cout << "* B.- Ver" << endl;
cout << "* C.- Ordenar" << endl;
cout << "* D.- Salir" << endl;
cout << "**************************************" << endl;
cout << endl;
cin >> option;
return toupper(option);
}Editor is loading...
Leave a Comment