/*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++];
}
}
}
}