Wypełnienie tablic.

Wypełnienie tablic.
lordlucifer
  • Rejestracja:ponad 11 lat
  • Ostatnio:prawie 11 lat
  • Postów:31
0

Witam!
Jestem nowy na forum, uczę się programowanie, powiedzmy że w bardzo przyspieszonym tempie. Mam dwa pytania odnośnie tablic, nie znalazłem na google ani w książkach odpowiedzi a kompilator mi ciągle błędy wywala. Pierwsze z nich to jak wypełnić tablicę dwuwymiarową na poziomie pisania kodu? Np. mamy tablicę[20][20] i chcę najpierw wypełnić pierwszy wiersz 20 elementami, potem następny aż do ostatniego. Normalnie dla jednowymiarowej to jest tablica[] i klepiemy po przecinku, ale dla dwuwymiarowej tablica[0][] nie działa. A drugie pytanie to czy istnieje jakiś sposób szybkiego wypełnienia stu tablic 50 elementowych konkretnymi liczbami, czy trzeba cierpliwie klepać wszystkie w kodzie po przecinku?

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

Jak nie chcesz zaklepać sie na śmierć to wypełniaj za pomocą pętli i funkcji. Jak chcesz wypełnić 100 tablic to juz w ogóle.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:3 miesiące
1
Kopiuj
int tab[3][3]={{1,2,3},{4,5,6},{7,8,9}},bat[3][3]={}; // bat - cała wypełniona zerami
memcpy(bat,tab,sizeof(bat)); // kopia (o ile te 50 tablic są takie same)

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
lordlucifer
  • Rejestracja:ponad 11 lat
  • Ostatnio:prawie 11 lat
  • Postów:31
0

Zrobiłem tak jak napisał _13th_Dragon i mi wywala na samym końcu tego wpisania "error: cannot convert '<brace-enclosed initializer="initializer" list="list">' to 'int' in assignment".

Kopiuj
 tablica[N][N]={
    {8,2,22,97,38,15,0,40,0,75,4,5,7,78,52,12,50,77,91,8},
    {49,49,99,40,17,81,18,57,60,87,17,40,98,43,69,48,4,56,62,0},
    {81,49,31,73,55,79,14,29,93,71,40,67,53,88,30,3,49,13,36,65},
    {52,70,95,23,4,60,11,42,69,24,68,56,1,32,56,71,37,2,36,91},
    {22,31,16,71,51,67,63,89,41,92,36,54,22,40,40,28,66,33,13,80},
    {24,47,32,60,99,3,45,2,44,75,33,53,78,36,84,20,35,17,12,50},
    {32,98,81,28,64,23,67,10,26,38,40,67,59,54,70,66,18,38,64,70},
    {67,26,20,68,2,62,12,20,95,63,94,39,63,8,40,91,66,49,94,21},
    {24,55,58,5,66,73,99,26,97,17,78,78,96,83,14,88,34,89,63,72},
    {21,36,23,9,75,0,76,44,20,45,35,14,0,61,33,97,34,31,33,95},
    {78,17,53,28,22,75,31,67,15,94,3,80,4,62,16,14,9,53,56,92},
    {16,39,5,42,96,35,31,47,55,58,88,24,0,17,54,24,36,29,85,57},
    {86,56,0,48,35,71,89,7,5,44,44,37,44,60,21,58,51,54,17,58},
    {19,80,81,68,5,94,47,69,28,73,92,13,86,52,17,77,4,89,55,40},
    {4,52,8,83,97,35,99,16,7,97,57,32,16,26,26,79,33,27,98,66},
    {88,36,68,87,57,62,20,72,3,46,33,67,46,55,12,32,63,93,53,69},
    {4,42,16,73,38,25,39,11,24,94,72,18,8,46,29,32,40,62,76,36},
    {20,69,36,41,72,30,23,88,34,62,99,69,82,67,59,85,74,4,36,16},
    {20,73,35,29,78,31,90,1,74,31,49,71,48,86,81,16,23,57,5,54},
    {1,70,54,71,83,51,54,69,16,92,33,48,61,43,52,1,89,19,67,48}
    };
Y2
  • Rejestracja:około 14 lat
  • Ostatnio:prawie 9 lat
  • Postów:34
1

Przydałoby się jeszcze "int" przed tablica[N][N]

lordlucifer
  • Rejestracja:ponad 11 lat
  • Ostatnio:prawie 11 lat
  • Postów:31
0

tablica została zadeklarowana wcześniej, na początku jako statyczna, potem jako dynamiczna, nic nie zmienia.

Dobra, rzeczywiście, trzeba od razu całość robić, dziękuję bardzo za pomoc! :)

Mam jeszcze jedno pytanie, mam na stronie podane 100 liczb 50 cyfrowych jedna pod drugą, czy istnieje jakiś szybki sposób wpisania tego do tablicy dwuwymiarowej tak żeby odpowiedni wiersz odpowiadał jednej liczbie 50 cyfrowej? Bo jak wpisać tablicę 20x20 jeszcze można to 100x50 to już przesada.

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:3 miesiące
1
Kopiuj
const char *Tb[]=
  {
   "43253453275642137895427189465874216387563248754329543825683247",
   "29543825683247432534532756421378954271894658742163875632487543",
   "75432954382568324743253453275642137895427189465874216387563248",
  };

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
lordlucifer
  • Rejestracja:ponad 11 lat
  • Ostatnio:prawie 11 lat
  • Postów:31
0

Mogę prosić o wytłumaczenie? Wybaczcie że tak opornie, ale uczę się dopiero a chcę zrozumieć wszystko. Bo zakładam że *tb jest adresem tb[0][]?

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:3 miesiące
1
Kopiuj
tb[1][0]=='2'; 
tb[1][3]=='4';

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.