7 cografi bölgenin isimleri yıllık yagış miktarlari ortalma sıcaklıklari okutup ve yagış miktarlarina göre azalan olarak sıralayıp sırali halini ekrana yazdıran programi yzmaya calştım ama hata veriyor yardim??
#include
#include
int main() {
char bölge[7]=akdeniz,karadeniz,ıcanadolu,ege,doguanodolu,güneydogu,marmara;
int ortsıcaklık[7]=35,26,34,36,37,38,32;
int yagış[7]=500,750,320,500,298,234,567;
int i,j=0;
int gecici=0;
printf("7 bölgeyi gir");
scanf("%c",&bölge);
scanf("%d",&ortsıcaklık{i]);
scanf("%d",&yagış);
for(i=0; i<7; i++) {
for(j=i+1; j<7; j++) {
if(yagış < yagış[j])
gececi=yagış;
yagış[j]=yagış[j];
yagış[j]=gecici;
}
}
}
for(i=0; i<7; i++) {
printf("7 bölgenin yagış sıcaklıgı %c%d%d\n\n\n",bölge[7],yagış[7],ortsıcaklık[7]);
}
getch();
return 0;
}
[ YARDIM ] program yazıyorum
#include <stdio.h>
#include <conio.h>
int main() {
char *bolge[8]={"akdeniz","karadeniz","ıcanadolu","ege","doguanodolu","güneydogu","marmara"};
int ortsicaklik[7]={35,26,34,36,37,38,32};
int yagis[7]={500,750,320,500,298,234,567};
int i,j=0;
int gecici=0;
for(i=0; i<7; i++)
for(j=0; j<6; j++)
if(yagis[j] < yagis[j+1]) {
gecici=yagis[j];
yagis[j]=yagis[j+1];
yagis[j+1]=gecici;
gecici=ortsicaklik[j];
ortsicaklik[j]=ortsicaklik[j+1];
ortsicaklik[j+1]=gecici;
}
for(i=0; i<7; i++)
printf("%s bolgesinin yagis ve sicakligi %d %d\n\n\n",bolge,yagis,ortsicaklik);
getch();
return 0;
}
Dizinin elemanlarini manual olarak girdiginiz icin okutmaniza gerek yoktur.Kodun duzeltimiş halini yayımlıyorum.
Başarılar
teşekkurler hocam da..yalnız başta char *bolge[8] tanımlamışınız ..7 olmasi gerekmiyor mu .yani orayi tam anlamadim?
Haklısınız 7 uzunlugu yeterli olacaktır.Hatta bu gibi durumlarda dizinin uzunlugunu vermeyerek,dizi uzunlugu derleyicinin kendisine de bırakılabilir.Ornegin asagıdaki yazım seklide son derece gecerlidir.
char *bolge[]={"akdeniz","karadeniz","ic anadolu","ege","dogu anadolu","guneydogu","marmara"};
Başarılar