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

Problem z tablicami v2

Object Storage Arubacloud
0 głosów
227 wizyt
pytanie zadane 20 października 2015 w C i C++ przez Piotr Karaś Początkujący (460 p.)
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
int pozycja_x[100];
int pozycja_y[100];
int x=0;
int y=4;

 

cout<<"Twoja pozycja to: "<<pozycja_x[x]<<","<<pozycja_y[y];

 

 

       return 0;
}

 

W konsoli wyświetla mi tylko  jedną wartośc... nie wiem dlaczego. Chce zrobić cos ala współrzędne i jeżeli nasza postać bedzie na współrzednych x y to coś sie wykona np spotkamy moba czy cos w tym stylu :/

4 odpowiedzi

0 głosów
odpowiedź 20 października 2015 przez Radfler VIP (101,030 p.)
wybrane 20 października 2015 przez Piotr Karaś
 
Najlepsza

Może dlatego, że tablice nie są wypełnione żadnymi liczbami? Coś takiego w C++ nazywa się Undefined Behaviour (UB). Proponuję Ci wypełnić tablice jakimiś liczbami ;)

komentarz 20 października 2015 przez Piotr Karaś Początkujący (460 p.)
W jaki sposób? Chciałem zrobić to w postaci tablicy wierowymiarowej, jednak znaczenia to nie ma to wyswietla mi sie 0 :/
komentarz 20 października 2015 przez Radfler VIP (101,030 p.)

Tablicę możesz wypełnić w pętli, albo przez inicjalizację agregatową (czy jakoś tak):

int pozycja_x[10] = {0, 2, 4, 6, 8, 10, 12, 14, 16, 18};

Są też inne sposoby, ale to już nie Twój poziom ;)

 

komentarz 20 października 2015 przez Piotr Karaś Początkujący (460 p.)

W pętli było by to:

 

int pozycja[100][100]

for ( i=0; i == 100; i++)
{
 for( j=0; j == 100; j++)

 pozycja[i][j]


}

 

teraz dobrze? 

 

@Edit

wykonałem tablice wielowymiarową bo taka była by dla mnie wygodniejsza

komentarz 20 października 2015 przez Radfler VIP (101,030 p.)

No prawie dobrze, tylko w warunku zamiast operatora == daj <. No i coś przypisuj do pozycja[i][j].

0 głosów
odpowiedź 20 października 2015 przez Muminek Dyskutant (8,650 p.)

Może tak, będzie łatwiej: tablice_wielowymiarowe - link

a najłatwiej to będzie tak:

Kurs podstawowy C++:

- miroslawzelent.pl

- bt4.pl/shebang.pl

- cpp0x.pl

Po tej przerobionej lekturze, nie będziesz już miał problemu. Inaczej wrócisz z kolejnym podstawowym pytaniem, na które znałbys odpowiedzieź gdybyś na kurs poświęcił parę chwil.

Pozdrawiam :)

0 głosów
odpowiedź 20 października 2015 przez Mikrokontroler xD Stary wyjadacz (13,500 p.)

Cześć 
instrukcją int pozycja_x[100]; i int pozycja_y[100]; jedynie deklarujesz tablice spróbuj sobie zrobić coś takiego
int z; cout<<z;  
na ekranie dostaniesz jakąś absurdalną liczbę ponieważ nie przypisałeś do zmiennej "z" żadnej wartości gdybyś zrobił 
int z=10; cout<<z; to otrzymasz "10" na ekranie tak samo masz z tablicami. W środku tablic siedzą jakieś absurdalne wartości. 

Prawdopodobnie jedna z nich jest bardzo duża a druga to zero w efekcie masz coś takiego 321312321,0  i wydaje ci się że wyświetla się tylko jedna liczba ale to są 2 (z wartościami przypisane przez kompilator dla nas są to bzdury lub śmieci ze stosu czy z czegoś tam innego :) )

Żeby to naprawić możesz zrobić tak jak koledzy już ci napisali 
czyli lista inizlaizacji 
 int pozycja_x[100] = {1, 3, 10, 92, 22, 11, 22, 44}; lub też w pętli mozesz przypisać
coś w stylu for(int i=0; i<100; i++)
{
     pozycja_x[i] = 1; //mozesz tez wstawic zamiast 1 literke i to w tablicy beda rozne zmienne od 0 do 199
}

Narazie pozostań przy takim rozwiązaniu to Ci dobrze zrobi :) później będziesz to ulepszał

–1 głos
odpowiedź 20 października 2015 przez Boshi VIP (100,240 p.)
Zacznij od jakiegoś kursu  bo nie masz zielonego pojęcia  o programowani.
 Siatkę się robi przez macież. Tablica dwuwymiarowa np   int plansza[2][2] co daje

xx

xx

Aby wpisać wszystkie wartości musisz użyć jakiejś pętli, np dla twojego przykładu  to będzie

for(int i=0; i<pozycja_x.length ;i++) {cout  pozycja_x[i]<<endl;}

Pisałem to z palca więc jak jest jakaś literówka to popraw sobie.
komentarz 20 października 2015 przez Radfler VIP (101,030 p.)

pozycja_x.length

W C++ to tak nie działa. To nie Java ;)

komentarz 20 października 2015 przez Piotr Karaś Początkujący (460 p.)
Inaczej wyglądało by to tak gdybym podstawil liczby?

[0][0] [0][1]

[1][0] [1][1]

?
komentarz 20 października 2015 przez Boshi VIP (100,240 p.)

@Radfler 

OK, nie pamiętam  dokałdnie jak to w c++ wygląda.  Choć idea jest ta sama bo można na sztywno ustawic wartość.

 

Podobne pytania

0 głosów
1 odpowiedź 191 wizyt
pytanie zadane 27 września 2015 w C i C++ przez TenTakiTam Bywalec (2,460 p.)
0 głosów
3 odpowiedzi 162 wizyt
pytanie zadane 19 października 2015 w C i C++ przez Piotr Karaś Początkujący (460 p.)
0 głosów
2 odpowiedzi 237 wizyt
pytanie zadane 3 września 2015 w C i C++ przez Jaszczer Początkujący (250 p.)

92,563 zapytań

141,413 odpowiedzi

319,590 komentarzy

61,948 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!

...