Autor
|
Tema: Seleccionar una fila de un array en C (Leído 6,243 veces)
|
folostia
Desconectado
Mensajes: 111
|
si yo tengo un array de 6 filas y 10 columnas,donde en cada fila hay una palabra,¿cómo hago para seleccionar un numero de fila(es decir,una palabra) aleatoriamente?
|
|
|
En línea
|
"Antes de que un software pueda ser reusable, primero ha de ser usable." (Ralph Johnson) Usuario Linux:547941
|
|
|
folostia
Desconectado
Mensajes: 111
|
Añado que el array es el siguiente: palabra[6][10]={"perro","gato","ordenador","pizarra","lapiz","carpeta"}
|
|
|
En línea
|
"Antes de que un software pueda ser reusable, primero ha de ser usable." (Ralph Johnson) Usuario Linux:547941
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Utilizando la función "rand" (prototipo en <stdlib.h>), esta resulta en un valor de tipo int entre 0 y RAND_MAX (macro definida en el mismo encabezado). Ese valor lo reduces mediante la sentencia:
De esa forma el valor de "i" estara en el rango valido. Lo siguiente es utilizar la palabra con "palabra[ i ]". Una nota: para evitar obtener los mismos resultados con la función "rand" debes indicar la semilla para los números aleatorios mediante otra funcion ("srand" en el mismo encabezado) para ello es común utilizar la hora del sistema en esta forma: #include <stdio.h> #include <stdlib.h> #include <time.h> #define NUM_ELEM 16 int main(void) { int i; /* Definimos la semilla utilizando la hora actual */ /* Impresion de valores en el rango 0 .. NUM_ELEM - 1 */ for (i = 0; i < NUM_ELEM; i++) return EXIT_SUCCESS; }
Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
folostia
Desconectado
Mensajes: 111
|
Muchas gracias,crees que así me va bien? srand(time(NULL)); palabra = rand() % 6;
|
|
|
En línea
|
"Antes de que un software pueda ser reusable, primero ha de ser usable." (Ralph Johnson) Usuario Linux:547941
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
No lo se pero supongo que no, para estar seguros hay que revisar el código fuente (completo) del programa.
Basado en los fragmentos que pones no funcionara. Debes almacenar las cadenas en un objeto (el array "palabra") y generar el indice almacenándolo en otro (cualquier variable de tipo int como el mencionado "i").
Para procesar la palabra los utilizas juntos con "palabra[ i ]".
Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
folostia
Desconectado
Mensajes: 111
|
Y algo así? srand(time(NULL)); palabra[i] =1 rand() % 6; Teniendo en cuenta que el array es: palabra[6][10]={"perro","gato","ordenador","pizarra","lapiz","carpeta"}
|
|
|
En línea
|
"Antes de que un software pueda ser reusable, primero ha de ser usable." (Ralph Johnson) Usuario Linux:547941
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Si no tienes un curso o libro de calidad deberías conseguir uno, utiliza el motor de búsqueda para consultar los temas relacionados. Y algo así? srand(time(NULL)); palabra[i] =1 rand() % 6; Eso tampoco funcionara ya que estas confundiendo el uso (con "palabra[ i ]") con la asignacion (que ya esta dada cuando declaras el array). Si quieres imprimir una sola palabra al azar basta con algo mas o menos asi: #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { char palabra[6][10] = { "perro", "gato", "ordenador", "pizarra", "lapiz", "carpeta" }; printf("Una palabra es %s\n", palabra [rand() % 6]); return EXIT_SUCCESS; }
Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Seleccionar ultima fila de la bdd (slq server)??? [SOLUCIONADO]
Bases de Datos
|
Hartigan
|
2
|
5,683
|
8 Septiembre 2010, 14:40 pm
por Hadess_inf
|
|
|
seleccionar fila de tabla y llenar formulario(solucionado)
PHP
|
basickdagger
|
1
|
2,872
|
18 Abril 2013, 18:07 pm
por basickdagger
|
|
|
Seleccionar fila DatagridView VB.NET[SOLUCIONADO]
.NET (C#, VB.NET, ASP)
|
Yaldabaot
|
5
|
19,074
|
23 Mayo 2013, 21:26 pm
por XresH
|
|
|
Cómo seleccionar una fila de un JTable de Java
Java
|
soy_nicanor
|
5
|
10,759
|
22 Enero 2015, 22:48 pm
por Usuario Invitado
|
|
|
JTable: Seleccionar Fila Y Mostrar Los Datos En Componentes JTextField
Java
|
Skar.2007
|
1
|
3,353
|
10 Abril 2015, 21:03 pm
por Usuario Invitado
|
|