Diskuze: Zobrazeni vektoru
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 2 zpráv z 2.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Keď načítavaš a vypisuješ float hodnoty používaj špecifikátor
(neviem či sa to takto prekladá ) %f namiesto %d a malo bude ti
hodnoty vypisovať správne.
Iná vec čo som si všimol je ako sa snažíš pracovať s dynamickým poľom.
Niektoré kompilátory ti dovolia spraviť toto čo máš ty
float INTERVAL[RP];
teda deklarovať pole o nejakej, dopredu neznámej, veľkosti. Správne by si to mal zmeniť na
float* INTERVAL;
//kód pre zadanie veľkosti
INTERVAL = (float*) malloc(RP * sizeof(float));
//ostatný kód
//a pred koncom uvoľniť alokovanú pamať
free(INTERVAL);
viacej info -> Dynamická práce s pamětí v jazyce C
No a posledná vec nepíš názvy premenných veľkými písmenami, je taká
konvencia, že takto sa označujú napr. konštanty
#define KONSTANTA_PI 3.14
Celý program by teda mohol vyzerať takto
#include <stdio.h>
#include <stdlib.h>
int main() {
int intervalSize, i, kladne, zaporne, n;
float* interval;
printf ("Zadejte pocet slozek RP: ");
scanf ("%d", &intervalSize);
printf ("Delka INTERVALU je: %d\n", intervalSize);
interval = (float*) malloc(intervalSize * sizeof(float));
for (i = 0; i < intervalSize; i++) {
printf ("Zadejte %d. slozku INTERVALU \n", (i + 1));
scanf ("%f", &interval[i]);
}
for (i = 0; i < intervalSize; i++) {
printf("%f ", interval[i]);
}
free(interval);
return 0;
}
Zobrazeno 2 zpráv z 2.