Język C, pętla while oraz tablica

0

Witam,
Mam problem z zadaniem, które mam wykonać w języku C.
Napisz program który wczytuje liczby całkowite do momentu podania wartości większej od 100. Oblicz sumę wartości parzystych. Wyświetl wartości parzystę oraz ich sumę. Wykonałem wszystkie kroki poza wyświetleniem wartości parzystych. Domyślam się, że powinienem to zrobić za pomocą tablicy jednowymiarowej, ale nie wiem jak za to się zabrać. Poniżej zamieszczam kod, z góry dziękuję za odpowiedź.

#include <stdio.h>

int main()
{
    int x;
    int suma = 0;
    int i;
    printf("podaj wartosci\n");
    scanf("%i",&x);
    int Tablica[100];
    while(x<=100)
    {
        if(x%2==0)
        {
            suma = suma+x;
        }
        scanf("%i",&x);
    }

printf("suma liczb parzystych wynosi %i\n",suma);

}

1

int Tablica[100]; - zadanie mówi "do podania wartości większej niż 100", a nie "do podania stu wartości".

Ponadto, nie potrzebujesz do wykonania tego zadania żadnej tablicy - wystarczy pamiętać obecną sumę i dodawać do niej obecną liczbę, jeśli jest parzysta (co zresztą robisz)

0

Rozumiem, z sumą nie miałem właśnie większego problemu. Nie mogę jedynie znaleźć sposobu na wyświetlanie poszczególnych wartości parzystych, które składały się na tę sumę.

0

Wytłumacz mi proszę, po kiego ci ta tablica?
while((scanf("%i",&x)==1)&&(x<=100)) if(!(x&1)) ptintf("%+d ",x,suma+=x);
printf("= %d",suma);

4

Nie mogę jedynie znaleźć sposobu na wyświetlanie poszczególnych wartości parzystych, które składały się na tę sumę.

Wypisuj je od razu po prostu :​)

Jeśli koniecznie chcesz czekać na koniec wprowadzania (czego zadanie nie żąda) to faktycznie potrzebujesz tablicy, ale wtedy musisz wziąć pod uwagę, że tych liczb może być bardzo dużo, więc najpewniej powinieneś użyć malloc/realloc/free.

2
kq napisał(a):

... to faktycznie potrzebujesz tablicy, ale wtedy musisz wziąć pod uwagę, że tych liczb może być bardzo dużo, więc najpewniej powinieneś użyć malloc/realloc/free.

Ewentualnie rozwiązanie rekurencyjne.

0

Dziękuję za pomoc

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