Rezolvare BAC Informatica 2009 – Varianta 2 – Subiectul al II-lea problema 5
Mai jos puteti gasi rezolvarea problemei 5 de la subiectul II din varianta 2 pentru examenul de bacalaureat din anul 2009
Rezolvare:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <string.h> | |
using namespace std; | |
int main() { | |
char s[40]; | |
cin >> s; | |
char v[] = "aeiou"; | |
for (int i = 0; i < strlen(s); i++) | |
if (strchr(v, s[i]) != 0) // e vocala mica | |
{ | |
char aux[40]; | |
strcpy(aux, s + i); | |
strcpy(s + i + 1, aux); // dubleaza vocala mica | |
s[i + 1] = s[i + 1] - 32; // transforma dublura in mare | |
} | |
cout << s << endl; | |
return 0; | |
} |
Spor la lucru! Daca aveti intrebari nu ezitati sa le lasati in comentarii, va vom raspunde cat de repede putem 
Aceasta varianta ar fi acceptata ca solutie la BAC?
https://onlinegdb.com/Sy2n8sOTf
Salut. Noi zicem ca ar fi o solutie buna, avand in vedere ca nu specifica explicit in enunt construirea sirului. Insa, cel mai bine, cred ca ar trebui sa intrebi profesorul / profesoara de la clasa ca sa fii 100% sigur. Zi faina.
la cuvantul bacalaureat, cand ajungem pe prima pozitie cu vocala a( ba),
s+i va reprezenta litera a? si s+i+1 spatiul gol pe care noi il adaugam ca sa cream dublura vocalei? si de ce este asa
Salut. Era o mica greseala in rezolvare pentru ca nu alocam sirul in care copiam s + i. Ca sa-ti raspund la intrebare, s + i va reprezenta tot sirul dupa vocala a, inclusiv aceasta, in cazul de fata “acalaureat”. s + i + 1 este sirul “calaureat”. Deci, noi inlocuim “calaureat” prin “acalaureat”. Sirul nostru va deveni “baacalaureat”. In final facem din al doilea “a”, litera mare. Deci, daca ai un sir s, s + i este sirul incepand de pe pozitia i. Sper ca am explicat ok. Daca mai ai nelamuriri, nu ezita sa intrebi. Spor la lucru.