Strona 1 z 1

[c] funkcje - obliczane sumy elementów tablicy.

: 12 sty 2012, o 13:54
autor: spd
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:

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; }
A to przykładowy wydruk działania programu

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
Nie wiem gdzie leży błąd, a pewnie jest banalny, więc liczę na szybką pomoc.

[c] funkcje - obliczane sumy elementów tablicy.

: 12 sty 2012, o 15:18
autor: adner
W linii 33 jest niepotrzebny średnik.

[c] funkcje - obliczane sumy elementów tablicy.

: 12 sty 2012, o 15:21
autor: spd
:O dzięki wielkie! nawet tego nie zauważyłem... Musiałem odruchowo wpisać i taki błąd od razu. Wszystko już działa, jeszcze raz dziękuję.