Tablica dwuwymiarowa - gdzie jest błąd?

Tablica dwuwymiarowa - gdzie jest błąd?
Min0s
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 83
0

Postanowiłem napisać krótki program, aby wypróbować tablice dwuwymiarowe, ale nie obyło się bez problemu.
Oto kod:

Kopiuj
#include <iostream>
int main()
  {
    int a [5][5];
    for (int i=0, j=0; i<5 , j<5; i++,j++)
    {
        std::cout << "Wprowadz kolejna cyfre: ";
        std::cin >>a[i][j];
        if (i<5 && j<5)
        {
            for(i,j; 0>i, 0>j; i--, j--)
            {
                std::cout<< a<<std::endl;
            }
        }
    }
    return 0;
  }

Program miał pobierać 4 cyfry, a następnie je wypisać od tyłu

SO
  • Rejestracja: dni
  • Ostatnio: dni
1

Ale po co do tego tablica dwuwymiarowa?

//
W pierwszym forze idziesz po indeksach 0..4 więc pobierzesz 5 liczb a nie 4.

Nie wiem po co ten zagnieżdżony for w jakimś if (i<5 && j<5).

Zostaw pierwszego fora w postaci for(int i = 0; i<5; i++) i w nim wczytuj do a[i][i].

Później drugi for(ale nie zagnieżdżony) for(int i = 4; i >=0 ; i--) i w nim wypisuj a[i][i].

Ale to na prawdę nie ma sensu i z tablic dwuwymiarowych to przećwiczysz sobie chyba tylko deklarację...

PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Pomorskie (Stare Kabaty)
1

Wutf?
Takiej udziwnionej petli for to jescze nie widzialem.
Najpierw iteruj po kolumnach, potem po komórkach, coś takiego

Kopiuj
for(unsigned int i=0;i<5;i++)
{
for(unsigned int j=0;j<5;j++)
cin >> tab[i][j];
}
twonek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2500
1

Przy okazji:

Kopiuj
for (int i=0, j=0; i<5 , j<5; i++,j++)

Warunek zakończenia pętli jest inny niż myślisz (pomijając to, że totalnie nie pasuje do tego co chciałeś osiągnąć). Wynik działania operatora przecinka w 99% przypadkach jest inny niż myślą początkujący. To co chciałeś to jest:

Kopiuj
for (int i=0, j=0; i<5 && j<5; i++,j++)

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.