dinak Δημοσ. 19 Ιανουαρίου 2012 Δημοσ. 19 Ιανουαρίου 2012 >#include <stdio.h> #include <stdlib.h> #include <math.h> #define N 15 struct cube{ float x1; float x2; float y1; float y2; float z1; float z2; }; struct cube sc[15][15][15]; int main(){ int i; int j, k; for(i=0;i<N;i++){ for(j=0;j<N;j++){ for(k=0;k<N;k++){ sc[i][j][k].x1 = (i/2); sc[i][j][k].x2 = (i/2) - 0.5; sc[i][j][k].y1 = (j/2); sc[i][j][k].y2 = (j/2) + 0.5; sc[i][j][k].z1 = k/2; sc[i][j][k].z2 = (k/2) + 0.5; } } } printf("%f %f %f %f %f %f\n", sc[0][0][1].x1, sc[0][0][1].x2, sc[0][0][1].y1, sc[0][0][1].y2, sc[0][0][1].z1, sc[0][0][1].z2); system("pause"); return 1; } κ όμως μου βγάζει ανά δύο φορές το ίδιο αποτέλεσμα! πχ το 0,0,0 είναι ίδιο με το 0,0,1!!!!! για ποιο λόγο γίνεται αυτο;
akisk Δημοσ. 19 Ιανουαρίου 2012 Δημοσ. 19 Ιανουαρίου 2012 >for(i=0;i<N;i++){ for(j=0;j<N;j++){ for(k=0;k<N;k++){ sc[i][j][k].x1 = (i/2.0); sc[i][j][k].x2 = (i/2.0) - 0.5; sc[i][j][k].y1 = (j/2.0); sc[i][j][k].y2 = (j/2.0) + 0.5; sc[i][j][k].z1 = k/2.0; sc[i][j][k].z2 = (k/2.0) + 0.5; } } } Τώρα πρέπει να 'ναι εντάξει. Διαιρούσες 2 int και το αποτέλεσμα μοιραία ήταν int και όχι float..
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα