Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Studente : Scia Massimiliano
- Classe : 3IC
- Data : 11/03/12 10:55
- Nome del file : matrici stringhe, controllo vocali
- */
- #include <iostream>
- #include <cmath>
- #include <ctime>
- #include <cstdlib>
- #include <cctype>
- #include <windows.h>
- #include <fstream>
- #include <time.h>
- #include <stdio.h>
- #define N 100
- using namespace std;
- void gotoxy(int x, int y)
- {
- COORD coord;
- coord.X = x;
- coord.Y = y;
- SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
- }
- // OV Nome dell'autore.
- void autore(void) {
- cout << "Questo programma e` stato scritto da Massimiliano Scia.\n";
- }//autore
- // OV Messaggio di richiesta.
- void tasto(void) {
- fflush(stdin);
- cout << "\n\nPremere Invio per continuare.";
- getchar();
- }//tasto
- /* INPUT */
- void leggi(char s[][N], int *n){
- do{
- cout<<"\nQuante parole vuoi inserire? ";
- cin>>*n;
- }//do
- while(*n<1 || *n>N);
- cout<<"\n";
- for(int i=0;i<*n;i++){
- fflush(stdin);
- cout<<"\n"<<i+1<<") ";
- cin.get(s[i],N,'\n');
- fflush(stdin);
- }//for
- }//leggi
- bool isVoc(char s[][N], int r, int c){
- if(s[r][c]=='a' || s[r][c]=='e' || s[r][c]=='i' || s[r][c]=='o' || s[r][c]=='u')
- return true;
- else
- return false;
- }//isVoc
- /* ELABORAZIONE */
- void ctrlVoc(char s[][N], int n, int nvc[]){
- int voc;
- for(int i=0;i<n;i++){
- voc=0;
- for(int j=0;j<strlen(s[i]);j++)
- if(isVoc(s,i,j))
- voc++;
- nvc[i]=voc;
- }//for
- }//ctrlVoc
- void nCp(char s[][N], int n, int ncp[]){
- int cp;
- for(int i=0;i<n;i++){
- cp=0;
- for(int j=0;j<strlen(s[i]);j++)
- if(j>0 &&(s[i][j]==s[i][j-1] && isVoc(s,i,j)))
- cp++;
- ncp[i]=cp;
- }//for
- }//ncp
- void vocCons(char s[][N], int n, int cons[]){
- int ncs;
- for(int i=0;i<n;i++){
- ncs=0;
- for(int j=0;j<strlen(s[i]);j++)
- if(j>0 && isVoc(s,i,j) && isVoc(s,i,j+1))
- ncs++;
- cons[i]=ncs;
- }//for
- }//vocCons
- /* OUTPUT */
- void stampa(char s[][N], int nvc[], int ncp[], int cons[], int n){
- cout<<"\n\n\t\tNumero vocali nelle strnghe\n\n";
- for(int i=0;i<n;i++)
- cout<<s[i]<<": "<<nvc[i]<<"\n";
- cout<<"\n\n\t\tNumero coppie vocali:\n\n";
- for(int j=0;j<n;j++)
- cout<<s[j]<<": "<<ncp[j]<<"\n";
- cout<<"\n\n\t\tNumero di vocali consecutive:\n\n";
- for(int j=0;j<n;j++)
- cout<<s[j]<<": "<<cons[j]<<"\n";
- }//stampa
- int main (void){
- char s[N][N];
- int n,nvc[N],ncp[N],cons[N];
- autore();
- leggi(s,&n);
- ctrlVoc(s,n,nvc);
- nCp(s,n,ncp);
- vocCons(s,n,cons);
- stampa(s,nvc,ncp,cons,n);
- tasto();
- return 0;
- }//main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement