Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- main()
- {
- int parentesi = 0; // All'inizio il valore parentesi è a 0, per ogni parentesi aperta aggiunge 1 e per ogni chiusa toglie 1
- // Facendo così se la prima parentesi che scrivo è già chiusa (e quindi sbagliato) il valore va a -1 e il ciclo finisce subito
- char carattere; // Input da aggiungere a ogni ciclo
- while(carattere!='0' && parentesi >= 0) // è come scrivere: continua finchè il carattere inserito non è 0 e finchè "parentesi" non è -1, basta una sola di queste condizione per uscire dal ciclo
- {
- cin>>carattere; // Ogni volta che parte il ciclo chiede l'input nuovo
- if(carattere=='(') // Se è par aperta aggiunge 1
- {
- parentesi++; // Più comodo scrivere così che scrivere parentesi = parentesi + 1
- }
- if(carattere==')') // Se è par chiusa toglie 1
- {
- parentesi--; // Più comodo scrivere così che scrivere parentesi = parentesi - 1
- }
- else // Se non è una parentesi non fa niente (penso che possa andare anche senza scrivere sto else ma lo faccio per sicurezza)
- {
- }
- }
- // COSA DEVE FARE ALLA FINE DEL CICLO - Controllo il valore di parentesi
- if(parentesi==0) // Se è uguale a 0 significa che ci sono gli stessi numeri di parentesi aperte e chiuse
- {
- cout<<"la sequenza e' bilanciata"<<endl;
- }
- if(parentesi>0) // Se è maggiore di 0 ci sono troppe par aperte
- {
- cout<<"la sequenza non e' bilanciata, ci sono parentesi aperte senza match"<<endl;
- }
- if(parentesi<0) // Se è minore di 0 ci sono troppe par chiuse oppure la prima parentesi scritta è chiusa
- {
- cout<<"la sequenza non e' bilanciata, ci sono parentesi chiuse senza match"<<endl;
- }
- cout<<"end"<<endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement