Tablica wielowymiarowa i pomijanie pierwszego adresu.

Odpowiedz Nowy wątek
2015-02-20 23:11
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


Jeśli coś jest głupie, ale działa, to nie jest głupie.
edytowany 1x, ostatnio: Ymir, 2015-02-20 23:12

Pozostało 580 znaków

2015-02-20 23:15
0

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

Pozostało 580 znaków

2015-02-20 23:16
0

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


Jeśli coś jest głupie, ale działa, to nie jest głupie.

Pozostało 580 znaków

2015-02-20 23:20
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.

Pozostało 580 znaków

2015-02-20 23:24
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 ?

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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