Při dělaní projektu do školy jsem narazil na tento problém:
Můj program pracoval v pohodě v linuxu a tak jsem se rozhodl, že ho vyzkouším ve Windows (respektive v CodeLite) ve kterém to bude učitel kontrolovat. K mému překvapení byly na výstupu samé nuly (není důležité, co by tam bylo normálně) a tak jsem to zkusil zkompilovat ještě v MSVS a Dev-C++, kde byl vystup v poradku. Tak jsem začal pátrat, co by mohlo tento problém v CodeLite způsobit a eliminační metodou jsem došel k tomu, že když vytvořím pole typu double (ať už dynamicky, nebo ne) tak mi vždy vypíše výsledek 0
Zkusil jsem napsat základní prográmek abych vyloučil vedlejší vlivy:
#include <stdio.h>
int main()
{
double pole[3];
pole[0] = 2;
pole[2] = 1;
for (int i = 0; i < 3; i++)
{
printf("\nPole[%d] : %lf",i, pole[i]);
}
getchar();
return 0;
}
V tomto případě se mi jako výstup vypíše:
0.0000
0.0000
0.0000
Ale pokud bych změnil double na int, tak už vše funguje tak jak má.
Nemá někdo nějaké řešení, jak tento problém vyřešit / obejít? (zkusil jsem i přeinstalovat CodeLite / update / i čistou intalaci na jiný PC, ale nic nepomohlo)
Normálně by to problém nebyl, jelikož v tomto programu nedělám, ale učitel to v něm kontroluje, tak by bylo blbé, kdyby to nefungovalo.
Předem díky za odpovědi.