Witam, potrzebuje pomocy w programowani c++. Musze stworzyć program który będzie mówił czy dany ciąg wyrazów jest poprawne czy nie. Zasada musi być taka, że ciąg wyrazów nie może zaczynać się na samogłoskę ale za to co druga litera musi nią być. Przykład: Słowo poprawne - "bacada" słowo niepoprawne - abacad, baacad. :) w załaczniku to co udało mi się zrobić do tej pory:
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2025 KUDO.TIPS - All rights reserved.
Najlepiej jak najszybciej wywal ten kod za okno...
Konsoli programu NIE należy czyścić, tak samo nie należy go zatrzymywać.
A już na pewno nie za pomocą system(pause), przez które nawiasem mówiąc tracisz przenośność kodu pomiędzy systemami.
Link do kodu:
http://pastebin.com/jFv2xPKa
Kod:
#include <cstdio>
#define MAX_LENGTH 512
char Vowels[] = {"eyuioa"};
bool isVowel(char c)
{
for (int i = 0; i<sizeof(Vowels)/sizeof(char); i++)
if (Vowels[i] == c)
return true;
return false;
}
bool check(char* string, int length)
{
if (isVowel(string[0]))
return false;
for (int i = 1; i<length; i+=2)
if (!isVowel(string[i]))
return false;
return true;
}
int main()
{
char* string = new char[MAX_LENGTH];
int length;
for (int i = 0; i<MAX_LENGTH; i++)
string[i] = '\0';
scanf("%s", &string[0]);
for (int i = 0; i<MAX_LENGTH; i++)
if (string[i] == '\0')
{
length = i;
break;
}
if (check(string, length))
printf("correct"); else
printf("wrong");
return 0;
}