• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z wykonaniem prostego programu z tablic

0 głosów
174 wizyt
pytanie zadane 30 kwietnia 2019 w C i C++ przez rafal954 Nowicjusz (120 p.)

Hej, zaciąłem się w miejscu wykonania programu, który wczytywałby same jedynki do tablicy 2-wymiarowej, czy ktoś mógłby wskazać dlaczego program tak dziwnie reaguje? :)
 

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
int i,j,k,m;
int tbl[k][m];

cout<<"wczytaj ilosc wierszy"<<endl;
cin>>k;
cout<<"wczytaj ilosc kolumn"<<endl;
cin>>m;
for (i = 0; i < k; i++)
{
for (j = 0; j < m; j++)
{
tbl[i][j] = 1; //dla wypelnienia tablicy jedynkami
}
}
 return 0;
}

 

2 odpowiedzi

0 głosów
odpowiedź 30 kwietnia 2019 przez kenjiro244 Dyskutant (8,600 p.)

Więc po pierwsze

 czy ktoś mógłby wskazać dlaczego program tak dziwnie reaguje? :) 

Co to ma nam powiedzieć, nie wiem nazwę błędu czy co się dzieje cokolwiek.

A co do problemu

int i,j,k,m;
int tbl[k][m];

czegoś takiego nie możesz tak zrobić rozmiary tablicy k i m muszą być znane przed tworzeniem tablicy.

Jeżeli chcicałbyś tworzyć tablice dynamiczne musisz poszukać informacji opreratorze new.

Jedyny sposób dla ciebie na ten moment to 

int i,j;
int tbl[5][5];

//lub 
//k oraz z już nie możesz zmienić
const int k = 5;
const int z = 5;
int tb[k][z];

 

komentarz 1 maja 2019 przez rafal954 Nowicjusz (120 p.)
Dzięki wielkie :)
0 głosów
odpowiedź 30 kwietnia 2019 przez gagyn Stary wyjadacz (11,050 p.)

Zmienne k, m w linijce 9 jeszcze nie mają przypisanych wartości, a już określasz nimi rozmiar tablicy. Rozwiązanie: musisz najpierw wczytać do tych zmiennych liczby z klawiatury, a dopiero potem tworzyć tablicę.

Po drugie tworzysz tablicę statyczną, a tablica statyczna musi mieć z góry podany rozmiar. Rozwiązanie: Poczytaj o tablicach dynamicznych (https://www.p-programowanie.pl/cpp/tablice-dynamiczne/).

komentarz 1 maja 2019 przez rafal954 Nowicjusz (120 p.)
Dzięki za uwagi, już wyjaśnione :)

Podobne pytania

0 głosów
2 odpowiedzi 203 wizyt
pytanie zadane 5 listopada 2015 w C i C++ przez shadou102 Pasjonat (21,690 p.)
0 głosów
1 odpowiedź 1,532 wizyt

93,424 zapytań

142,421 odpowiedzi

322,646 komentarzy

62,785 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...