Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 10 odgovora
  • 3.685 pregleda

Najnovija ↓

Provjeravanje zagrada ... ? C++ 01.02.2006. u 13:24 · pre 252 meseca #1
imam jedan problem s jednim programom,nikako da ga riješim,radi se o programu koji treba da ispituje tačnost zagrada ... primjer:

kad upišemo ovo {2+[2(3-1)]-2} da ispiše ispravno a
kad upišemo ovo {2+[2(3-1)]-2 da ispiše neispravno jer fali jedna zagrada , a to bi morao uraditi preko funkcija ,,, hvala!!!!
Re: Provjeravanje zagrada ... ? C++ 01.02.2006. u 13:34 · pre 252 meseca #2
Mislim da nije problem uvesti brojac zagrada kada se zagrada otvori brojac se uverca , a kada se zatvori brojac smani , zagrade su ok ako je brojac == 0
Re: Provjeravanje zagrada ... ? C++ 01.02.2006. u 13:52 · pre 252 meseca #3
Pri ucitavanje broj otvoreni zagrada ne sme da bude manji od broj zatvoreni zagrada, t.e treba brojac >= 0, a na kraj mora da bude brojac == 0.
Re: Provjeravanje zagrada ... ? C++ 01.02.2006. u 14:02 · pre 252 meseca #4
hvala , al je problem sto nisam bas najbolji u programiranju pa ne znam kako to da uradim preko funkcija .... ??
Re: Provjeravanje zagrada ... ? C++ 01.02.2006. u 21:56 · pre 252 meseca #5
Code:
#include <iostream>

using namespace std;

int main()
{
    char c;
    int n, br = 0, f = 1;

    cin >> n;
    for (int i=0; i<n; i++) {
        cin >> c;
    if (c=='(' || c=='[' || c=='{') ++br; else
        if (c==')' || c==']' || c=='}') --br;
    if (br < 0) {
           cout << "greska";
           f = 0;
           break;
        }
    }
    if (f && br==0) cout << "ok";
}
Re: Provjeravanje zagrada ... ? C++ 02.02.2006. u 00:47 · pre 252 meseca #7
To resenje ne pije vodu - npr. sta ako parovi otvorena zagrada/zatvorena zagrada nisu istog tipa?
Code:
primer1. {2+3]
primer2. ([3*7)+2]
Potpis
O_o
Re: Provjeravanje zagrada ... ? C++ 02.02.2006. u 13:38 · pre 252 meseca #11
mislim da ni to ne pije vodu... {[2*3}]...

jedino resenje je stack... na stack se stavljaju leve zagrade, a skida se sa stacka kad naidje odgovarajuca desna. ako desna nije odgovarajuca, prijavi se greska. na kraju se samo proveri da li je stack prazan.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme