• 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

Object Storage Arubacloud
0 głosów
92 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 154 wizyt
pytanie zadane 5 listopada 2015 w C i C++ przez shadou102 Pasjonat (21,630 p.)
0 głosów
1 odpowiedź 1,301 wizyt

92,576 zapytań

141,426 odpowiedzi

319,650 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...