main(){
int D[20][2];
int i,j,k;

srand (time(NULL)); //her seferinde farklı sayı üretmesi için

for (i=0;i<20;i++){
for (j=0;i<2;i++){

D[i][j]=rand()%10+1;}} //1-10 arasynda random sayy üretmesi için


for(i=0; i<20; i++){
for(j=0; j<2; j++){

printf("%d",D[i][j]);
}
printf("\n");
}


şöle bişey yazdım ekrana saçma sapan rakamlar çıktı aralarında 10 dan büyüklerde var ben rand()%10 yazarak 0 -1 arasında sayı üretmek istemiştim ve bunları matrise geçirmeye çalıştım nerde hata yaptım?

 

ilk 2li for döngüsünde 2. for j<2 olmucak mı

jedilance

şimdi düzeldi ama gene 100 den büyük sayılar var ben 1-10 arasında üretmek istiyorum

allstar

onuda hallettik son bir şey sorucam bu algoritmada

for (i=0;i<20;i++){
for (k=0;k<20;k++){
for (j=0;j<20;j++){
x=f(D[i][0],D[i][1],D[k][0],D[k][1]);

y=f(D[i][0],D[i][1],D[j][0],D[j][1]);
z=f(D[j][0],D[j][1],D[k][0],D[k][1]);

if(x>y+z) { printf("koşul sağlanmadı"); scanf("%d"); return 0; }
} } }

şöyle bir şey var d(x,z)<d(x,y)+d(y,z) bu durumu kontrol etmem lazım şu fonksiyon için

float f(int x1,int x2,int y1,int y2)

{float r;
r=sqrt(((x1-y1)*(x1-y1))+((x2-y2)*(x2-y2)));
return r;}

fakat her seferinde x>y+z çıkıyor oysa bunun olması imkansız

allstar
1

mobil görünümden çık