Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3. main()
  4. {
  5. int parentesi = 0; // All'inizio il valore parentesi è a 0, per ogni parentesi aperta aggiunge 1 e per ogni chiusa toglie 1
  6. // Facendo così se la prima parentesi che scrivo è già chiusa (e quindi sbagliato) il valore va a -1 e il ciclo finisce subito
  7.  
  8. char carattere; // Input da aggiungere a ogni ciclo
  9.  
  10. 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
  11. {
  12. cin>>carattere; // Ogni volta che parte il ciclo chiede l'input nuovo
  13.  
  14. if(carattere=='(') // Se è par aperta aggiunge 1
  15. {
  16. parentesi++; // Più comodo scrivere così che scrivere parentesi = parentesi + 1
  17. }
  18.  
  19. if(carattere==')') // Se è par chiusa toglie 1
  20. {
  21. parentesi--; // Più comodo scrivere così che scrivere parentesi = parentesi - 1
  22. }
  23.  
  24. else // Se non è una parentesi non fa niente (penso che possa andare anche senza scrivere sto else ma lo faccio per sicurezza)
  25. {
  26.  
  27. }
  28. }
  29.  
  30. // COSA DEVE FARE ALLA FINE DEL CICLO - Controllo il valore di parentesi
  31.  
  32. if(parentesi==0) // Se è uguale a 0 significa che ci sono gli stessi numeri di parentesi aperte e chiuse
  33. {
  34. cout<<"la sequenza e' bilanciata"<<endl;
  35. }
  36.  
  37. if(parentesi>0) // Se è maggiore di 0 ci sono troppe par aperte
  38. {
  39. cout<<"la sequenza non e' bilanciata, ci sono parentesi aperte senza match"<<endl;
  40. }
  41.  
  42. if(parentesi<0) // Se è minore di 0 ci sono troppe par chiuse oppure la prima parentesi scritta è chiusa
  43. {
  44. cout<<"la sequenza non e' bilanciata, ci sono parentesi chiuse senza match"<<endl;
  45. }
  46.  
  47.  
  48. cout<<"end"<<endl;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement