int feld in float feld + zeiger auf feld
-
Hallo, ich hab bei einem Programm gerade gemerkt, dass die Prozentanzahl
ausgegeben werden soll und nun will ich das Prog umschreiben ohne das array zu ändern.geht das irgendwie, dass ich einem float feld2[N] die Werte von int feld1[N] übergebe?
Habs grad mal in einem Programm probiert, geht aber nicht
#include <stdio.h> #include <string.h> #include <stdlib.h> #define N 100 int main(){ int feld1[N]; float feld2[N]; int i = 0; printf("Machen Sie Ihre Eingabe:!\n"); for(i=0;i<N;i++){ scanf("%d",&feld1[i]); feld2[i] = feld1[i]; printf("%d", feld2[i]); system("Pause"); }; system("Pause"); return 0; }
-
ah, wenn ich 1 eingabe für int, gibt float mit 0 aus
-
Nochmal ich
ich kann aus einer Funktion kein Feld zurückgeben, und muss stattdessen einen Zeiger verwenden oder?wie sieht das genau aus?
... float feld[N]; float *yy; yy = &feld[0]; Zaehle(yy); ...
und dann in der Funktion
float Zaehle ( float *P){ ... return P; }
??
-
feld2[i] = feld1[i];
Prinzipiell korrekt. Aber deine Ausgabe ist falsch. Auch solltest du system("Pause") vermeiden.
-
Ausgabe korrigiert, falls du das meintest,
funktioniert aber immer noch nicht:printf("%f\n", &feld2);
-
lollol schrieb:
Ausgabe korrigiert, falls du das meintest,
funktioniert aber immer noch nicht:printf("%f\n", &feld2);
Hast du auch die Eingabe korrigiert?
-
ich seh keinen Fehler
-
printf("%f\n", &feld2);
ändern in
printf("%f\n", feld2[i]);
-
//printf("%f\n", &feld2); printf("%f\n", feld2[i]);
-
So:
printf("%f", feld2[i]);
Hast du auch die Eingabe korrigiert?
Ich dachte, er wollte das Integerarray beibehalten.
-
knivil schrieb:
Hast du auch die Eingabe korrigiert?
Ich dachte, er wollte das Integerarray beibehalten.
Ach, richtig. Einfach ignorieren, nur meine Blödheit.