[c] funkcje - obliczane sumy elementów tablicy.
: 12 sty 2012, o 13:54
Witam,
Mógłby ktoś nakierować mnie lub najlepiej dokładnie wskazać gdzie popełniono błąd w tym programie, że nie pokazuje sumy wszystkich elementów tablicy tylko zawsze 0?
Oto program:
A to przykładowy wydruk działania programu
Nie wiem gdzie leży błąd, a pewnie jest banalny, więc liczę na szybką pomoc.
Mógłby ktoś nakierować mnie lub najlepiej dokładnie wskazać gdzie popełniono błąd w tym programie, że nie pokazuje sumy wszystkich elementów tablicy tylko zawsze 0?
Oto program:
Kod: Zaznacz cały
#include <stdio.h>
#include <math.h>
void wczyt1D(double x[], int);
void druk1D(double x[], int);
void oblicz (double x[], int n, int ind1, int ind2, double wynik[]);
int main() {
double a[5];
double rezultaty[2];
wczyt1D(a,5);
druk1D(a,5);
oblicz(a,5,1,3,rezultaty);
printf("
Suma elementuow tablicy= %lf", rezultaty[0]);
printf("
Suma elementow tablicy od indeksu 1 do indeku 3= %lf", rezultaty[1]);
system("PAUSE");
return 0; }
void wczyt1D (double x[], int n) {
int i;
for(i=0;i<n;i++) {
printf("
element[%d]=", i);
scanf("%lf", & x[i]); }}
void druk1D (double x[], int n) {
int i;
for(i=0;i<n;i++) {
printf("
druk[%d]= %lf
" , i, x[i]); }}
void oblicz (double x[], int n, int ind1, int ind2, double wynik[]) {
int i;
double s=0, sind=0;
for (i=0;i<n;i++);
s=s+x[i];
for (i=ind1;i<=ind2;i++)
sind=sind+x[i];
wynik[0]=s;
wynik[1]=sind; }
Kod: Zaznacz cały
element[0]=1
element[1]=2
element[2]=3
element[3]=4
element[4]=5
druk[0]= 1.000000
druk[1]= 2.000000
druk[2]= 3.000000
druk[3]= 4.000000
druk[4]= 5.000000
Suma elementuow tablicy= 0.000000
Suma elementow tablicy od indeksu 1 do indeku 3= 9.000000