#include <stdio.h>
#include <windows.h>
#include <time.h>
int semillitaRandom(int _nombres,int* a) {
time_t seconds;
time(&seconds);
*a=(rand()%_nombres);
}
int main () {
int _nombres,i,j,k;
printf("\nIngrese el tamaño del vector para cargar nombres:\n");
scanf("%i",&_nombres);
char vector[_nombres][10];
int* _al;
printf("\n Ingrese los nombres para el vector:\n");
for (k=0;k<_nombres;k++)
{
fflush(stdin);
gets(vector[k]);
}
int _filas,_columnas;
printf("\nIngrese la cantidad de filas:\n");
scanf("%i",&_filas);
printf("\nIngrese la cantidad de columnas:\n");
scanf("%i",&_columnas);
char* punteroMatriz[_filas][_columnas];
printf("\n Matriz nombres:\n");
for (i=0;i<_filas;i++)
{
for (j=0;j<_columnas;j++)
{
semillitaRandom(_nombres,&_al);
punteroMatriz[i][j]=vector[(int)_al];
printf("%s | ",punteroMatriz[i][j]);
}
printf("\n");
}
}
En este caso el problema se basa en crear un vector que contenga nombres ingresados por el usuario, luego ese vector transformarlo en matriz y que dentro de la matriz se llene con números aleatorios (del tamaño de la cantidad de nombres ingresados) para que con los números aleatorios apunte directamente a posiciones del vector y los imprima como matriz.
Este es el código que tengo creado, por alguna razón la matriz me brinda siempre el mismo resultado, creo que hay un problema en mis punteros para el aleatorio.