// 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.
Título: Re: Problema con Funciones
Publicado por: ssaammuu en Martes 24 de Mayo de 2011, 18:12
Porque no cambias tu función número 1 para que devuelva un entero
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...
Título: Re: Problema con Funciones
Publicado por: Diego21 en Martes 24 de Mayo de 2011, 20:25
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 "); } } }
Título: Re: Problema con Funciones
Publicado por: perepe en Martes 24 de Mayo de 2011, 21:11
La función del compañero ya almacena 4 números en cada fila, y no entiendo lo que pides ahora.
Título: Re: Problema con Funciones
Publicado por: Diego21 en Martes 24 de Mayo de 2011, 21:44
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í :
Mi pregunta es como coloco los números ingresados por el usuario en filas de otra función.
Título: Re: Problema con Funciones
Publicado por: ssaammuu en Miércoles 25 de Mayo de 2011, 02:31
No se si he entendido bien pero...
Código: C
matriz[0][0]=4;
matriz[0][1]=5;
matriz[0][2]=6;
matriz[0][3]=7;
:huh:
Título: Re: Problema con Funciones
Publicado por: Diego21 en Miércoles 25 de Mayo de 2011, 23:45
Si pero el usuario debe ingresar 4 números Ejemplo ( 1234) y esos se deben guardar en la fila 0, luego el usuario vuelve a ingresar otra combinación ejemplo (2345) y se guarda en la fila 1 Así hasta llenar la Función ini_jugadas(que esta iniciada en ceros excepto la fila 8 que está la combinación aleatoria) el usuario solo tiene 7 intentos( así completar la matriz de 8x4)
Estaba haciendo esta función pero no me para de pedir datos:
void lee_jugada(int matriz[8][4]) { int i,j, intentos=0; while(intentos<8) printf("Introduce una jugada: n"); for (i=0; i<8; i++){ for(j=0;j<4;j++) scanf("%d", &matriz[j]); }
Aparte de esto tengo otra función la cuál inicia la matriz 8x4 con (-) rayas . Tengo que poner esta matriz al lado de la otra (son dos funciones) cuando llamo a la función en main se pone debajo. Ejemplo: Así tiene que aparecer pero me aparece una debajo de otra.
void ini_valoracion(int matriz[8][4]) { for (int filas=0; filas<8; filas++) { printf("n"); for (int columnas=0; columnas<4; columnas++) { matriz[filas][columnas]= '-';
} } }
Título: Re: Problema con Funciones
Publicado por: perepe en Viernes 27 de Mayo de 2011, 20:03
recorres la matriz por filas (menos la ultima) y pides 4 numeros por iteración, luego rellenas la ultima con numeros aleatorios y listo, no se donde esta el problema.