Niepoprawna suma liczb parzystych

0

Mam problem z programem obliczący sumę liczb parzystych. Wylicza dziwne sumy jak to skorygować?

#include <stdio.h>
#define Size 3
int main(){
    int tab [Size] = {};
    int i,j,suma;

    for(i=0; i<Size ; i++){
        printf("Podaj liczbe %d: ",i+1);
        scanf("\n%d", &tab[i]);
    }
    for(int i=0;i<suma;i++)
	{
		if(i%2==0)
		{
			suma=suma+tab[i];			
		} 
		
		i++;
		
	}
	
	printf("Suma liczb wynosi: %d",suma);
}
1

Zagadka:

int suma;

Jaką wartość ma suma? No właśnie. Inicjalizuj zmienne, to problemów nie będzie.

Dodatkowo:

for(int i=0;i<suma;i++)

Jaki to ma sens?

0
kq napisał(a):

Zagadka:

int suma;

Jaką wartość ma suma? No właśnie. Inicjalizuj zmienne, to problemów nie będzie.

Dodatkowo:

for(int i=0;i<suma;i++)

Jaki to ma sens?

Jak to zmienić?

1

Dodatkowo nie sumujesz liczb parzystych, tylko liczby znajdujące się na parzystych indeksach, a to coś zgoła innego.

0
#include <stdio.h>
#define Size 3
int main(){
    int tab [Size] = {};
    int suma=0;
 
    for(int i=0; i<Size ; i++){
        printf("Podaj liczbe %d: ",i+1);
        scanf("\n%d", &tab[i]);
    }

    for(int i=0;i<Size;i++)
    {
        if(tab[i]%2==0)
        {
            suma=suma+tab[i];           
        } 
 
    }
 
    printf("Suma liczb wynosi: %d",suma);
}
1

Nie potrzebujesz drugiej pętli. Po pobraniu liczby od użytkownika możesz od razu sprawdzić czy jest parzysta i zaktualizować sumę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1