Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/03/2015, 11:12
lechelala
 
Fecha de Ingreso: marzo-2015
Mensajes: 2
Antigüedad: 9 años, 9 meses
Puntos: 0
No me hace un gets

Hola, lo que pasa es que quiero almacenar un conjunto de cadenas en un array bidimensional, lo hago individualmente y me funciona perfecto, pero cuando le pongo la otra parte de la programación arriba no me lee el primer gets y se brinca hasta el segundo.


Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. main(){
  4.     char nombres[100][100];
  5.     int i;
  6.    
  7.     for(i=0;i<3;i++){
  8.     printf("Alumno numero %d: ",i+1);
  9.     gets(nombres[i]);
  10.     }
  11.     printf("\n");
  12.     for(i=0;i<3;i++){
  13.         printf("%s\n",nombres[i]);
  14.     }
  15. }

Cuando lo pongo así me lo ejecuta con normalidad, pero al ponerlo así:

Código C:
Ver original
  1. #include<stdio.h>
  2.  
  3. main(){
  4.     int n,i,k,notas[100];
  5.     char nombres[100][100];
  6.    
  7.     printf("Introduzca la cantidad de alumnos: ");
  8.     scanf("%d",&k);
  9.     printf("Introduzca la cantidad de notas por alumno: ");
  10.     scanf("%d",&n);
  11.    
  12.    
  13.     for(i=0;i<k;i++){
  14.         printf("Alumno numero %d: ",i+1);
  15.         gets(nombres[i]);
  16.     }
  17.            
  18.    
  19.     for(i=0;i<k;i++){
  20.         printf("%s\n",nombres[i]);
  21.     }
  22. }

Si pongo que son 3 alumnos, por decir, me imprime consecutivo:

Alumno 1: Alumno 2:

y no me deja almacenar nada en el primero, qué puedo hacer o cuál es la manera correcta de hacerlo? :(
Soy nuevo en esto, disculpen las molestias :c

Última edición por razpeitia; 08/03/2015 a las 17:12