Maksymalna wartość spośród liczb parzystych oraz jej numer w ciągu

0

Zadanie jest takie:
Napisz program, który podczas wprowadzania ciągu n liczb wyszuka liczbę o maksymalnej wartości spośród liczb parzystych oraz poda jej numer w ciągu.

Kod który napisałem jest taki i wylicza mi ilość liczb parzystych, a nie miejsce w ciągu. Myślałem, żeby powiązać maksymalną liczbę parzystą z daną iteracją i, ale nie wiem jak to zrobić.


int main()
{
    int i, n, max, liczba, licznik;
    printf("Ile liczb chcesz wczytac\n");
    scanf("%d", &n);

    printf("Podaj %d liczb\n", n);
    max=0;

    for(i=1; i<=n; ++i)
    {
        scanf("%d", &liczba);

        if(liczba%2==0)
        {
            if(liczba>max) max=liczba;
            licznik=i;
        }
    }
        printf("Numer liczby max w ciagu to %d", licznik);


    return 0;
}
2

Nie wiem czy to coś pomoże, ale chyba chcialeś, żeby ten kawałek kodu wyglądał:

if(liczba>max) 
{
    max=liczba;
    licznik=i;
}
0

Dziękuję, działa. Jak piszę jakiś kod, to rozumiem to jak to zrobić logicznie, ale nie umiem tego przełożyć na język kodu.
Dzięki za pomoc.

0
Wstawiłem jeszcze warunek, że nie można podać mniej liczb niż 1 oraz że nie mogą to być tylko liczby nieparzyste.
Czy da się to zrobić prościej, albo krócej?

Dodatkowo jak wpiszę same liczby nieparzyste to pojawia mi się tekst, że nie można wpisać tylko liczb nieparzystych, ale też tekst, że Numer w ciągu liczby parzystej to 0.
A chciałbym, że jak już ktoś poda same liczby nieparzyste, to żeby pojawiała się tylko informacja, że Wszystkie podane liczby nie moga byc nieparzyste, ale żeby już nie pokazywał tego tekstu ile jest parzystych.
Wiem, że muszę wstawić tekst o parzystych wyżej w którymś nawiasie i wtedy po pojawieniu się tekstu o nieparzystych, ten o parzystych już się nie pokażę, ale właśnie z tym mam problem, że nie mogę załapać, który kod będzie przyporządkowany do której pętli i przez to po których nawiasach co wstawić, tak jak teraz tekst o parzystych. Jak to zrozumieć?


int main()
{
    int i, n, max, liczba, licznik, liczbanieparzysta=0;

    printf("Ile liczb chcesz wczytac\n");
    scanf("%d", &n);

    printf("Podaj %d liczb\n", n);

    if(n<1)
    {
        printf("Ilość liczb musi być wieksza od 0");
    }
    max=0;

    for(i=1; i<=n; ++i)
    {
        scanf("%d", &liczba);
        if(liczba%2==1)
        {
            liczbanieparzysta=liczbanieparzysta+1;
        }

        if(liczbanieparzysta==n)
        {
            printf("Wszystkie podane liczby nie moga byc nieparzyste\n");
        }

        if(liczba%2==0)
        {
            if(liczba>max)
            {
            max=liczba;
            licznik=i;
            }
        }
    }
        printf("Numer w ciagu liczby parzystej to %d", licznik);

    return 0;
}

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