Programación General > C/C++
Problema con Funciones
Diego21:
Tengo estás dos funciones de un programa:
// PRIMERA FUNCIÓN : GENERA 4 NÚMEROS ALEATORIOS ENTRE 0-6
void gener_num(void)
{
int aleatorio=0;
srand (time(NULL));
for(int i=1; i<5; i++){
aleatorio = rand()%7 ;
printf("%d",aleatorio);
}
// SEGUNDA FUNCIÓN : MATRIZ DE 8X4 COMPONENTES TODOS A CEROS
void ini_jugadas(int matriz[8][4])
{
int filas=0, columnas=0;
for (filas=0; filas<9; filas++) {
printf("n");
printf("%d",filas+1);
for (columnas=0; columnas<4; columnas++) {
if(filas>=0 && filas<7)matriz[filas][columnas]=0;
if(filas==7)gener_num();
printf("%2d",matriz[filas][columnas]);
}
}
}
Mi problema es que necesito copiar el número aleatorio de la función 1 en la fila 8 de la la función 2 pero que no se vean sino solo se almacena en la fila y que aparezcan (-) guiones en vez de los números aleatorios.
Lo que he hecho es llamar la función en la fila 8 pero se me generan además de los números aleatorios una serie de números que no se como controlar(eliminar)
ni se como debo poner guiones.
Es en C uso el Borland 4.5.
ssaammuu:
Porque no cambias tu función número 1 para que devuelva un entero
--- Código: C --- int gener_num(void){int n = rand()%7 ;return n;}
Y después lo llamas en la función número dos. Por lo que he entendido la función mostrara 0 si no es la última fila o - si es la última fila a pesar de introducir un número aleatorio en esa posición...
--- Código: C --- void ini_jugadas(int matriz[8][4]){ srand (time(NULL)); for (int filas=0; filas<8; filas++) { printf("n%d",filas+1); for (int columnas=0; columnas<4; columnas++) { if(filas==7){ matriz[filas][columnas]=gener_num(); printf(" -"); }else{ matriz[filas][columnas]=0; printf(" 0"); } } }}
Diego21:
Si, tienes razón me va bien, pero y si quiero a partir de otra función almacenar 4 números en cada fila de la función (anterior) ini_jugadas.
He estado intentándolo bajo condiciones ... Número de intentos sean 7 (solo quedan 7 filas disponibles) He puesto solo las condiciones porque no se como almacenarlos en las filas de otra función.
void lee_jugada(int matriz[8][4])
{
int intentos=0, aciertos=0;
while(intentos<8){
if(intentos!=0)
{
printf("nIntroduce un 4 numeros del 1 al 6 ");
}
}
}
perepe:
La función del compañero ya almacena 4 números en cada fila, y no entiendo lo que pides ahora.
Diego21:
La función Ini_jugadas solo almacena en la FIla 8 el número aleatorio de la 1º función gener_num, lo que no se como hacer con las condiciones anteriores(post anterior) es que el programa pide 4 números y se almacenen en las filas de la función Ini_jugadas( en lo espacios que están llenos de ceros).
Ejemplo:
Está es la matriz
1 0000
2 0000
3 0000
4 0000
5 0000
6 0000
7 0000
8 - - - -
El programa pide 4 números ( ejemplo el usuario ingresa los números 4 5 6 7)
Esos números deben aparecer así :
1 4567
2 0000
3 0000
4 0000
5 0000
6 0000
7 0000
8 - - - -
Mi pregunta es como coloco los números ingresados por el usuario en filas de otra función.
Navegación
[#] Página Siguiente
Ir a la versión completa