C wskaźniki na tablicę dwuwymiarową (stringi)

0

Witam. chciałbym napisać program, który będzie zapisywał do tablicy dwuwymiarowej imiona tworząc listę, a to wszystko za pomocą wskaźników: zadeklarować wskaźnik przed pętlą, a następnie przesuwać wskaźnik o 1 wiersz do dołu.
Więc wskaźnika chcę użyć i przy zapisywaniu stringu do tablicy za pomocą scanf i przy wyświetlaniu za pomocą printf. Jednakże nie wiem jak powinna wyglądać składnia żeby odpowiednio przesunąć wskaźnik przy kolejnych iteracjach dla stringów, Oto mój "niesprawny" kod:

#include <stdio.h>
int main ()
{
	int liczba;
	int i;
	printf ("Podaj dla ilu osob chcesz pobrac dane: ");
	scanf ("%d", &liczba);
	char imie[liczba][20];
	char *wimie= imie[0];
	
	for (i=0; i<liczba; ++i)
	{
		printf ("Podaj swoje imie: ");
		
		scanf ("%s", imie[i]);
		
		}
		printf ("\nLista imion:\n\n");
	
		for (i=0; i<liczba; ++i)
		{
			printf ("%s\n", *(wimie+i));
			}
	system ("pause");
	return 0;
}

PS: Przy poleceniu scanf celowo użyłem zapisu tablicowego żeby nie modyfikować jednocześnie scanf printf.

Za pomoc z góry dziękuję.

0
#include <cstdio>


#define CONST_DLUGOSC_IMIENIA 20

int main ()
 {
         int liczba;
         int i;
         printf ("Podaj dla ilu osob chcesz pobrac dane: ");
         scanf ("%d", &liczba);
         char imie[liczba][CONST_DLUGOSC_IMIENIA];
         char *wimie= imie[0];

         for (i=0; i<liczba; ++i)
         {
                 printf ("Podaj swoje imie: ");

                 scanf ("%s", imie[i]);

                 }
                 printf ("\nLista imion:\n\n");

                 for (i=0; i<liczba; ++i)
                 {
                         printf ("%s\n", wimie+CONST_DLUGOSC_IMIENIA*i);
                         }

         return 0;
 }

Natomiast osobiście zrobiłbym to jakoś takoś:

char * lista_imion[dlugosc_listy]; 
for (;;) { 
   char* imie = new char[dlugosc_tego_imienia]; // znaczy malloc() 
   scanf(, imie); 
   lista_imion[i]=imie; 
}
for ( ;; ) 
   printf( , lista_imion[i] ); 
} 

Zwiększa ilość potencjalnych użytkowników o 10%, to jest wszystkich tych, którzy mając długie imiona crashowaliby aplikację.

0

Dziękuję, już chwytam o co biega :D, a co do malloca to w zadaniu miałem określone, że nie mam używać tablic dynamicznych.

1 użytkowników online, w tym zalogowanych: 0, gości: 1