Cine poate sa isi dea seama cazul pentru care rezolvarea mea nu respecta cerinta ?
Cerința
Se dă un șir de caractere. Să se determine câte vocale din șir sunt cuprinse între două consoane.
Date de intrare
Programul citește de la tastatură un sir de caractere.
Date de ieșire
Programul va afișa pe ecran valoarea cerută.
Restricții și precizări
șirul va avea cel mult 255 caractere
șirul nu va conține litere mari
Exemplu
Intrare
oasele sunt fragile
Ieșire
4
#include
#include
using namespace std;
int main(int argc, char** argv) {
char v[]="aeiou";
int i=1;
int nu,ad;
int k=0,z=0;
char s[255];
cin.getline(s,255);
while(i
{z=0;
while(z
{if(v[z]==s[i])
{nu=0;
ad=1;
while(nu
{if(s[i-1]!=v[nu] && s[i+1]!=v[nu] )
ad=1;
else{ad=0;
break;
}
nu++;
}
if(s[i-1]!=' ' && s[i+1]!=' ')
if(ad==1)
k++;
}
z++;
}
i++;
}
cout<
return 0;
}
tabaraemi:
Accept si solutii alternative
#include <string.h>
using namespace std;
int main(int argc, char** argv) {
char v[255],i,x;
cin.getline(v,255);
if(strlen(v)<3)
if(strlen(v)==1){
char c=v[0]-32;
cout<<c;}
else
{char q,p;
q=v[0]-32;
p=v[1]-32;
if(v[0]!=' ' && v[1]!=' ')
cout<<q<<p;
else
if(v[0]!=' ')
cout<<q;
else
if(v[1]!=' ')
cout<<p;}
else
{
v[0]=v[0]-32;
v[strlen(v)-1]=v[strlen(v)-1]-32;
i=1;
while(i<strlen(v)-1)
{if(v[i]!=' ')
if(v[i-1]==' ' || v[i+1]==' ')
v[i]=v[i]-32;
i++;
}
cout<<v;}
return 0;
}
#include
using namespace std;
int main(int argc, char** argv) {
char v[]="aeiou";
int i=1;
int nu,ad;
int k=0,z=0;
char s[255];
cin.getline(s,255);
while(i {z=0;
while(z {if(v[z]==s[i])
{nu=0;
ad=1;
while(nu {if(s[i-1]!=v[nu] && s[i+1]!=v[nu] )
ad=1;
else{ad=0;
break;
}
nu++;
}
if(s[i-1]!=' ' && s[i+1]!=' ')
if(ad==1)
k++;
}
z++;
}
i++;
}
cout< return 0;
}
Răspunsuri la întrebare
Răspuns de
1
#include <string.h>
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
char v[]="aeiou";
int i=1;
int nu,ad;
int k=0,z=0;
char s[255];
cin.getline(s,255);
while(i<strlen(s)-1)
{z=0;
while(z<strlen(v))
{if(tolower(v[z])==tolower(s[i]))
{nu=0;
ad=1;
while(nu<strlen(v))
{if(tolower(s[i-1])!=tolower(v[nu]) && tolower(s[i+1])!=tolower(v[nu]) && isalpha(s[i+1])&&isalpha(s[i-1]))
ad=1;
else{ad=0;
break;
}
nu++;
}
if(ad==1){
k++;
}
break;
}
z++;
}
i++;
}
cout<<k;
return 0;
}
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
char v[]="aeiou";
int i=1;
int nu,ad;
int k=0,z=0;
char s[255];
cin.getline(s,255);
while(i<strlen(s)-1)
{z=0;
while(z<strlen(v))
{if(tolower(v[z])==tolower(s[i]))
{nu=0;
ad=1;
while(nu<strlen(v))
{if(tolower(s[i-1])!=tolower(v[nu]) && tolower(s[i+1])!=tolower(v[nu]) && isalpha(s[i+1])&&isalpha(s[i-1]))
ad=1;
else{ad=0;
break;
}
nu++;
}
if(ad==1){
k++;
}
break;
}
z++;
}
i++;
}
cout<<k;
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă