Funkcja liczaca nawiasy poprzez bool bar

0

Witam

Mam problem z napisaniem programu i zwracam się do was drodzy forumowicze o pomoc albo jakieś podpowiedzi z góry dziękuje.(program w visualu w formacie cpp)

Napisz funkcję o następującym nagłówku:

bool bar(char *wyrazenie)

która sprawdzi czy wyrażenie matematyczne, dane w postaci łańcucha znaków zawiera taką samą liczbę nawiasów otwierających jak i zamykających. Funkcja powinna zwrócic wartość true jeżeli nawiasy są zapisane poprawnie, w przeciwnym razie funkcja zwraca false.

0

Potrzebna ci jest deklaracja dwóch zmiennych liczbowych, pętla i w sumie.. z trzy warunki. Potrafisz?

1

Witam! Dotyczy się to wątku. W załączniku jest kod źródłowy programu. Co sądzicie o nim? Jest dobrze napisany? (nie jestem autorem wątku).

0

scanf("%255[^\n]", expr);
Że co? Wyrażenia regularne w scanf? Proponuję sięgnąć do dokumentacji.

0

Potrafi ktoś napisać poprawny kod?

1

tak, ktoś potrafi.
Kwestia tylko że my nie dajemy gotowych kodów (chyba że za $) tylko pomagamy. Pokaż co napisałeś albo co masz źle w kodzie to Ci pomożemy

0

idziesz od początku stringa do końca i zliczasz ilość nawiasów.
w pseudokodzie:

ilosc_nawiasow = 0
dla_kazdego_znaku_w_tekscie:
    jesli znak=(
        ilosc_nawiasow = ilosc_nawiasow + 1
    jesli znak=)
        ilosc_nawiasow = ilosc_nawiasow - 1
    jesli ilosc_nawiasow<0
        zwroc "niepoprawna ilosc nawiasow" i zakoncz sprawdzanie
jesli ilosc_nawiasow>0
    zwroc "niepoprawna ilosc nawiasow"
jesli nie
    zwroc "poprawna ilosc nawiasow"

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