Wypełnienie tablic.

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?

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.

1
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)
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".

 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}
    };
1

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

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.

1
const char *Tb[]=
  {
   "43253453275642137895427189465874216387563248754329543825683247",
   "29543825683247432534532756421378954271894658742163875632487543",
   "75432954382568324743253453275642137895427189465874216387563248",
  };
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][]?

1
tb[1][0]=='2'; 
tb[1][3]=='4';

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