Tablica wielowymiarowa i pomijanie pierwszego adresu.

0

Witam.
Zająłem się pisaniem programu w C++. Program ma wypełniać tablice liczbami całkowitymi od 0 do 24. Zadeklarowałem tablice o wymiarach 5x5, utworzyłem pętlę, ale napotkałem dwa problemy:

#include <iostream>
#include <cstdlib>
#include <stdio.h>

using namespace std;

int main(){

int i,a;
int tab[5][5];

for(i=-1;i<5;i++){

    for(a=0;a<5;a++){

    tab[i][a]=i+a;
    cout<<"cords:"<<i<<" oraz "<<a<<" "<<tab[i][a]<<endl;

    }

}

}
 

Pierwszym z nich jest niepoprawne wpisywanie liczb. Program wpisuje je pod kolejne adresy tablicy, ale nie są to liczby od 0 do 24 tylko 1,2,3,4,5 później 2,3,4,5,6 itd. Drugim błędem jest pomijanie pierwszego adresu z tablicy, tzn. program zaczyna wpisywanie liczb od adresu [1][0], nie tak jak było w moim zamyśle od [0][0].
Jeżeli macie jakieś pomysły jak to poprawić to bardzo bym prosił.

Pozdrawiam,
Ymir

0

To cud, że to się nie wywala.
Próbujesz coś wpisać do wiersza o indeksie -1, a takiego nie ma.

0

To "-1" dodałem na samym końcu w akcie desperacji, początkowo było tam oczywiście "0".

1

Jak dałem od 0 to wyświetla tak jak powinno, zaczynając od 0 a nie od żadnej 1.
Co do wartości to, wiesz jak działają zagnieżdżone pętle? Bo nie wiem w jaki sposób z tego i+a chciałeś dostać liczby od 0 do 24, jak zarówno i oraz a przyjmują maksymalną wartość 4.

0
Ymir napisał(a):

tab[i][a]=i+a;

Jeśli chciałeś by program wpisywał do tablicy po kolei liczby to nie prościej użyć zmiennej no nie wiem k i potem zwiększać ją o 1 ?

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