Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

>#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!!!!! για ποιο λόγο γίνεται αυτο;

Δημοσ.

>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..

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...