[]
random matris doldurma c?
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?
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 (06.01.13 19:21:41)
şimdi düzeldi ama gene 100 den büyük sayılar var ben 1-10 arasında üretmek istiyorum
- allstar (06.01.13 19:28:11 ~ 19:30:25)
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
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 (06.01.13 19:43:00)
1