#include struct S { int R; char C; }; int CONTROLLA(S M[], int d) { for (int i = 0; i < d-1; i = i + 2) if (M[i].C == M[i+1].C) return 0; return 1; } int main() { const int max = 100; S M[max]; // `n' conterra' il numero di interi non negativi letti. int n = 0; // Legge la sequenza di interi terminata da un numero negativo. cout << "Inserire una sequenza di interi positivi (max " << max << "):\n" << "quando si vuole terminare inserire un intero negativo: " << endl; cin >> M[n].R; while (M[n].R >= 0) { ++n; if (n == max) { cout << "Hai gia' inserito " << max << " elementi!" << endl; break; } cin >> M[n].R; } if (n == 0) { cout << "Nessun intero positivo inserito!" << endl; return 0; } int risultato; do { // Legge la sequenza di caratteri. cout << "Inserire una sequenza di caratteri (tanti quanti\n" << "il numero di interi non negativi precedentemente inseriti): " << endl; for (int i = 0; i < n; ++i) cin >> M[i].C; risultato = CONTROLLA(M, n); } while (risultato == 1); return 0; }