no chyb je tam hromada, pripomente uciteli, ze:
- neni v pascalu a S/s sou ruzny promenny
- ze prvky pole se davaji do {} oddelene carkama
- pokud chce aby cyklus opravdu probehl kod, ktery je za nim v bloku chce to nemit for (...); (tj strednik za cyklem...)
- tim strednikem za cyklem zaroven nemuze zkompilovat kod, protoze i je mimo platny scope for cyklu...
- v C post incrementace tolik nevadi (tj. i++) ale v C++ s pretizenim post increment operatoru ++ lze volat prakticky i nad jakymkoliv objektem... a pak to znamena, ze se udela kopie objektu, incrementuje se ten puvodni a kopie se vrati... takze v C++ VZDY preincrement operator ++i - incrementuje se jen ten objekt a rovnou se vrati jako vysledek, zadna kopie!
- edit: jeste jedna chyba tam je... vypisuje se pokazdy pointer na pole delta... pokud chce hodnotu tak je potreba dat cout << delta[i] << endl; //odradkovat se taky hodi
zkompilovatelny kod:
#include <iostream>
using namespace std;
int main () {
int Q[4]= {1,2,3,4};
int S = 2;
int delta[4];
for (int i=0; i<4; i++) {
delta[i] = Q[i]/S;
cout << delta[i] << endl;
}
}
(pripadne kdyz ma tendenci delat stredniky za kazdym radkem tak at dela { za forem, aspon bude lip videt kravina jako for (int i=0; i<4; ++i) ; {
mimochodem divne zavadejici nazev promenne delta... proc se to jmenuje delta? deltu chapu jako rozdil neceho... ale tady se jen aktualni prvek vydeli dvema