Cita de: leosansan en 4 Febrero 2013, 22:29 PMRealmente la dibia llenar con aleatorios en letras, por eso la funcion, tu respuesta igual me sirvio mucho, gracias!
La verdad que el código que posteas no se sabe bien por donde cogerlo.
Intentas llenar con aleatorios con una variable "aleatorio_letra" que no hace nada. Eso se lleva a cabo con rand, y fíjate en su uso para que en un caso dé números del 2 al 6 y en el otro del 7 al 16.
Por un lado declaras" char" la matriz e igualas a" int" en la variable num.
Supongo que la matriz es de enteros, ya que la llenas con enteros generados aleatoriamente. Por otro lado, para no liarte con la matriz, que en un lado llamas escoger y en otro pass, lo cual en sí no está mal, aunque sí está mal en la misma función llamarla de forma diferente, como comento durasno, yo la he llamado en todo momento pass para no liarte.
El código hace lo que quieres:Código (cpp) [Seleccionar]void llenarmatriz(int pass[4][4])
{
int i, j, num;
for(i=0; i<4; i++) {
for(j=0; j<4; j++) {
if(j<2){
num = 2+rand() % (5); //aleatorio de 2 a 6
pass[i][j]=num;
}
else {
num = 7+rand() % (10); //aleatorio entre 7 y 16
pass[i][j]=num;
}
}
}
for(i=0;i<4;i++) {
printf("Filas %d: ",i+1);
for(j=0;j<4;j++){
if(j<2)
printf("%d ",pass[i][j]);
else
printf("%d ",pass[i][j]);
}
printf("\n");
}
}
void i_escoj(int pass [][4])
{
int op=0;
printf("Escoja: ");
scanf("%d", &op);
op--;
obtener(op, pass);
}
void obtener(int op, int pass[][4])
{
int i;
for(i=0; i<4; i++)
printf ("%d ",pass[op][i]);
}
#include <stdio.h>
#include <time.h>
int main(void){
srand(time(NULL));
int op,pass [4][4];
llenarmatriz( pass);
i_escoj(pass);
return 0;
}
Saluditos!.
P.D: No obstante habría que depurar más tranquilamente el código, como declarar las funciones antes de usarlas, pero eso ya es para tí.