Pętla if nie działa

0

Witam interesuje sie informatyką i postanowiłem nauczyć się samemu programować. Na pewnej stronce z pętlą if znalazłem informację że tak się tworzy pętle if:

#include <iostream>
int main()
{
    int ....;
    std::cin >> ...;
    if( wiek >= .... )
         std::cout << "......" << std::endl;
    else
         std::cout << "......" << std::endl;
   
    std::cout << "Koniec" << std::endl;
    return 0;
}

I na podstawie tego chciałem wykonać własną pętle która bedzie zawierała w sobie pętle for.Więc zrobiłem to w taki sposób:

void Srednia_arytmetyczna()
{
int il_liczb;
int i;
float tab[100];
float wynik;
 cout<<"Podaj ilosc liczb: ";
    cin>> il_liczb;
    if(il_liczb>0)
	{for(i=1; i <= il_liczb; i++)
    {
        cin>>tab[i];
    }

    for(i=1; i <= il_liczb; i++)
    {
        wynik += tab[i];
    }

    wynik /= il_liczb;

    cout<<"Srednia wynosi: "<<wynik;

    getch();}
   else
    
    {std::cout <<"Podany ciag nie istnieje"<<std::endl;}

Uważałem że tak zbudowany program powinien działać, bo jest przecież zbudowany na zasadach podanych na tej stronce z poradnikiem, lecz niestety przy kompilacji wychodzi błąd że else nie następuje po ifie.Mógłby mi ktoś powiedzieć dlaczego ten program nie chce odpalić przecież jest if który ogranicza zakres ilości liczb do liczb wiekszych od zera?Proszę o wyrozumiałość ja się dopiero uczę i chciałbym zrozumieć swój błąd.Za pomoc z góry dziękuje.

0

Gdybyś porządnie sformatował kod to od razu zauważyłbyś, że na końcu brakuje }.

0

#if to nie jest pętla to instrukcja warunkowa
#twój fragment kodu wygląda poprawnie jeśli chodzi o else
#staraj się pisać logicznymi blokami (odpowiednio operując spacjami wiodącymi w każdej linii), łatwiej ci będzie ogarnąć to co napisałeś (nam tez będzie łatwiej). Czy nie lepiej wygląda to tak:

void Srednia_arytmetyczna()
{
    int il_liczb;
    int i;
    float tab[100];
    float wynik;
    cout<<"Podaj ilosc liczb: ";
    cin>> il_liczb;
    if(il_liczb>0)
    {
        for(i=1; i <= il_liczb; i++)
        {
            cin>>tab[i];
        }
 
        for(i=1; i <= il_liczb; i++)
        {
            wynik += tab[i];
        }
 
        wynik /= il_liczb;
 
        cout<<"Srednia wynosi: "<<wynik;
 
        getch();
    } else {
        std::cout <<"Podany ciag nie istnieje"<<std::endl;
    }
}

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