josecarlosgutierrez2002@gmail.com
Jose20025
c_cpp
3 years ago
3.2 kB
2
Indexable
Never
/*Escribir un programa en C++que permita al usuario ingresas 16 caracteres en una matriz 4x4, luego, mostrar dicha matriz de forma cuadrada, y, ordenadar la primera y última fila alfabéticamente. También mostrar cuántas letras "a" ingresó el usuario.*/ #include <iostream> using namespace std; char matriz[4][4]; void rellenarMatriz(); void mostrarMatriz(); void ordenar(); // Esta no la uso porque es para ordenar TODA la matriz void ordenarprimultfila(); // Esta solo ordena la primera y la ultima fila, tal como pide el ejercicio int main() { rellenarMatriz(); cout << endl; mostrarMatriz(); ordenarprimultfila(); cout << endl; mostrarMatriz(); cout << endl; return 0; } void rellenarMatriz() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { cout << "[" << i << "][" << j << "]: "; cin >> matriz[i][j]; } } } void mostrarMatriz() { cout << endl; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { cout << matriz[i][j] << " "; } cout << endl; } } void ordenar() { char vector[16]; int aux = 0; char aux2; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { vector[aux] = matriz[i][j]; aux++; } } for (int i = 0; i < 16; i++) { for (int j = 0; j < 15; j++) { if (vector[j] > vector[j + 1]) { aux2 = vector[j]; vector[j] = vector[j + 1]; vector[j + 1] = aux2; } } } aux = 0; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { matriz[i][j] = vector[aux]; aux++; } } } void ordenarprimultfila() { char vectorprim[4], vectorult[4], aux2; int aux = 0, auxx = 0; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { if (i == 0) { vectorprim[aux++] = matriz[i][j]; } if (i == 3) { vectorult[auxx++] = matriz[i][j]; } } } for (int i = 0; i < 4; i++) { for (int j = 0; j < 3; j++) { if (vectorprim[j] > vectorprim[j + 1]) { aux2 = vectorprim[j]; vectorprim[j] = vectorprim[j + 1]; vectorprim[j + 1] = aux2; } if (vectorult[j] > vectorult[j + 1]) { aux2 = vectorult[j]; vectorult[j] = vectorult[j + 1]; vectorult[j + 1] = aux2; } } } aux = 0; auxx = 0; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { if (i == 0) { matriz[i][j] = vectorprim[aux++]; } if (i == 3) { matriz[i][j] = vectorult[auxx++]; } } } }