[Çözüldü] Ortalama kısmındaki sorun nedir?

Başlatan Pozitron, 20 Mayıs 2015 - 11:08:28

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Pozitron

Merhaba arkadaşlar,
C'de alıştırma yapmayalı olmuştu ve alıştırma yapayım dedim ve bir kod yazdım.Şu şekilde:
Alıntı Yap#include <stdlib.h>
#include <stdio.h>

double avgArray(double array[],int size);

int main(){
double arra[10];
int not;
int i;
for(i=0;i<10;i++){
  printf("Please enter double value>\t");
  scanf("%lf",&arra);
  }
printf("Would you like to see the average of notes?(1/2)>");
scanf("%d",&not);
if(not==1)
printf("%lf \n",avgArray(arra,10));
else
printf("OK\n");
}

double avgArray(double array[],int size){
int sum,avg,i;
for(i=0;i<size;i++){
  sum=sum+array;
}
avg=sum/size;
return avg;
}
fakat avgArray fonksiyonu rastgele bir değer veriyor.Sorun nedir?
To follow the path,look to the master,follow the master,walk with the master,see through the master,become the master.

sem

arra[ i ] olacak yerler italik yazı koduna denk gelmiş görünüyor. Bu nedenle indeksi hatalı kullandığınızı düşünmüyorum. (ben boşluk bıraktığım için görülebiliyor)

Kodu derleme imkanım yok şu an fakat ilk bakışta görünen şu;

fonksiyonunuz içerisinde int sum, avg, i;

tanımlamışsınız. Bunlar yerel değişkenler olduğu için varsayılan değeri atanmadığı için içlerinde çöp değerler (rastgele değerler) bulunuyor. Burada i aynı şekilde aslında çöp değer barındırıyor fakat for döngüsünde i=0 ile ilklendirmiş oluyorsunuz.

Çözüm olarak for döngüsünün bir üst satırında;

sum=0;

şeklinde sum değişkenini de ilklendirmeniz sorunu çözecek gibi duruyor.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

Reverser

#include <stdio.h>
float average(float a[]);
int main(){
     float avg, c[]={23.4, 55, 22.6, 3, 40.5, 18};
     avg=average(c);
     printf("Average age=%.2f",avg);
     return 0;
   }
float average(float a[]){
     int i;
     float avg, sum=0.0;
     for(i=0;i<6;++i){
       sum+=a[i];
     }
     avg =(sum/6);
     return avg;
}

XFCE ROCKS !
Powered by Thunar & XFWM4



Pozitron

Teşekkürler sanırım oralarda bi yanlışlık oldu.
To follow the path,look to the master,follow the master,walk with the master,see through the master,become the master.