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

Czemu ta zmiana wywołuje tak duże zmiany?

Object Storage Arubacloud
0 głosów
137 wizyt
pytanie zadane 11 grudnia 2016 w C i C++ przez ChiriChiri Obywatel (1,260 p.)
#include <iostream>
using namespace std;
 
int main() {
 
int x;	
int n;
cin>>n;
int l;
int tablica[n];
int acilbat[l];
for (int i=0;i<n+1;i++) {cin>>x; tablica[i]=x; }
 int o=-1;
for ( l=n-1;l>-1;l--) {o++;acilbat[l]= tablica[o];cout<<tablica[o];}
 
 
 
return 0;
}

gdy w tym miejscu (zaznaczone na czerwono w kodzie) zamieniam te dwie wartości miejscami (czyli tablica[o]=acilbat[l]) to wyniki są zupełnie inne, dlaczego tak się dzieje skoro to jest to samo?

2 odpowiedzi

0 głosów
odpowiedź 11 grudnia 2016 przez unbearable Początkujący (450 p.)
Operator "=" w C++ oznacza przyrownanie lewej strony rownania do prawej. Stad zamiana miejscami w przypadku operatora "=" daje inne wyniki bo nie dzieje sie to samo.
0 głosów
odpowiedź 11 grudnia 2016 przez Adii Użytkownik (960 p.)

Z jakiego kompilatora korzystasz, że skompilował Ci się ten kod?

1. Zła alokacja pamięci na tablice:

int n;
cin >> n;
int l;
int tablica[n];
int acilbat[l];

Nie tak alokujemy dynamicznie pamięć, musisz użyć:

int *tablica = new int[n];

2. Po czym twierdzisz, że "tablica" == "acilbat" ? Z tego co widzę odwracasz tablicę, więc zamiana:

acilbat[l] = tablica[o];
//na
tablica[o] = acilbat[l];

Robi dużą różnicę.

3. Wychodzisz poza zakres tablicy w pierwszej pętli "for"

komentarz 11 grudnia 2016 przez adrian17 Ekspert (344,860 p.)

Z jakiego kompilatora korzystasz, że skompilował Ci się ten kod?

Pewnie z GCC / Clanga, dwóch z trzech najpopularniejszych kompilatorów które mają domyślnie włączone VLA w C++ie :) :(

komentarz 12 grudnia 2016 przez ChiriChiri Obywatel (1,260 p.)
Na ideone to robiłam, ale nie wiem jaki tam jest kompilator O.o

Podobne pytania

0 głosów
1 odpowiedź 381 wizyt
pytanie zadane 7 września 2017 w JavaScript przez fanpajny Obywatel (1,610 p.)
0 głosów
1 odpowiedź 1,033 wizyt
pytanie zadane 27 października 2015 w C i C++ przez Melchior Obywatel (1,300 p.)
–3 głosów
2 odpowiedzi 317 wizyt
pytanie zadane 20 września 2015 w Nasze projekty przez uMAXa Gaduła (4,290 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

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

...