Sunteți pe pagina 1din 58

Varianta 2- exercitiul 5

Scriei un program C/C++ care citete de la tastatur un cuvnt format din cel mult 20
de caractere, doar litere ale alfabetului englez. Programul determin transformarea
cuvntului citit prin eliminarea fiecrei litere mici a cuvntului, restul literelor
nemodificndu-se, ca n exemplu. Programul afieaz pe ecran cuvntul obinut. n
cazul n care cuvntul citit conine numai litere mici, programul va afia mesajul
CUVANT VID.
Exemple:
- dac se citete cuvntul: baCALaUreaT se va afia pe ecran: CALUT
- dac se citete cuvntul: vara se va afia pe ecran: CUVANT VID
#include<conio.h>
#include<iostream.h>
#include<string.h>
int main()
{ char s[20];
int i,n;
cin>>s;
n=strlen(s);
i=0;
while(i<strlen(s))
if(!((s[i]>=65)&&(s[i]<97)))
strcpy(s+i,s+i+1);
else
i=i+1;
cout<<s;
getche();}

Varianta 3- subiectul II
n secvena de instruciuni de mai jos, variabila s memoreaz un ir de caractere format
doar din litere ale alfabetului englez, iar variabilele i i n sunt de tip int. tiind c n urma
executrii secvenei s-a afiat succesiunea de caractere eeleeeneee scriei care este
irul de caractere memorat de variabila s.
n=strlen(s);
for(i=0;i<n;i++)
printf("%c%c",s[i],e); | cout<<s[i]<<'e';
#include<conio.h>
#include<iostream>
#include<string.h>
using namespace std;
int main()
{char s[100];
int i,n;
cin>>s;
n=strlen(s);
for(i=0;i<n;i++)
cout<<s[i]<<'e';
return 0;
}
Variabila s memoreaza elene;

Varianta 4 exercitiul 4
Fie s o variabil ce memoreaz un ir de caractere, format doar din litere ale alfabetului
englez, i i o variabil de tip int. Scriei instruciunile ce pot nlocui punctele de
suspensie din secvena de program alturat astfel nct executarea ei s determine
nlocuirea tuturor literelor mici din irul s cu litera W i apoi afiarea irului obinut. (6p.)
i=0;
while (i<strlen(s))
{
...............
}
printf("%s",s);| cout<<s;
#include<conio.h>
#include<iostream>
#include<string.h>
using namespace std;
int main()
{char s[100];
int i,n;
cin>>s;
n=strlen(s);
for(i=0;i<n;i++)
if ((s[i]>=97)&&(s[i]<=129))
s[i]='W';
cout<<s;
return 0;
}

Varianta 6 exercitiul 5
Se consider un text cu maximum 255 de caractere n care cuvintele sunt separate prin
unul sau mai multe spaii. Primul caracter din textul citit este o liter, iar cuvintele sunt
formate numai din litere mici ale alfabetului englez. Scriei un program C/C++ care
citete de la tastatur textul i l transform nlocuind prima liter a fiecrui cuvnt cu
litera mare corespunztoare, restul caracterelor rmnnd nemodificate. Textul astfel
transformat va fi afiat pe ecran.
Exemplu: dac de la tastatur se introduce textul: mare frig rosu
se va afia pe ecran: Mare Frig Rosu
#include<iostream.h>
#include<conio.h>
int main()
{char s[255];
int i;
cin.get(s,225);
s[0]=s[0]-32;
for(i=0;i<strlen(s);i++)
if((s[i-1]==' ')&&(s[i]!=' '))
s[i]=s[i]-32;
cout<<s;
getche();}

Varianta 7 exercitiul 5
Se consider un text cu maximum 255 de caractere, format din litere mici ale alfabetului
englez i spaii. Textul conine cel puin o consoan. Scriei un program C/C++ care
citete de la tastatur textul i afieaz pe ecran numai ultima consoan care apare n
text.
Exemplu: dac de la tastatur se introduce textul mare frig saci pe ecran se va afia: c
#include<iostream.h>
#include<conio.h>
#include<string.h>
int main()
{char s[255],p,v[]="aeiou";
int i,n;
cin.get(s,225);
n=strlen(s);
for(i=0;i<n;i++)
if(strchr(v,s[i])==0)
p=s[i];
cout<<p;
getche();}

Varianta 8 exercitiul 3
Ce se afieaz n urma executrii secvenei de program urmtoare, dac variabila s
memoreaz irul de caractere abcdefgh?
strcpy(s+2,s+4);
cout<<s<< <<strlen(s);
#include<string.h>
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
int main()
{
char s[100];
cin>>s;
strcpy(s+2,s+4);
cout<<s<<" "<<strlen(s);
getche();}
Se afiseaza abefg 6.

Varianta 10 exercitiul 2
Se consider declarrile de mai jos:
char s[]=abbacdde;
int i;
Ce ir reine variabila s dup executarea secvenei de instruciuni alturate?
a. aace b. ace c. ce d. acde
i=0;
while (i<strlen(s)-1)
if (s[i]==s[i+1])
{ strcpy(s+i,s+i+2);
if (i>0) i=i-1;
}
else i=i+1;
#include<string.h>
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
int main()
{int i;
char s[]="abbacdde";
i=0;
while (i<strlen(s)-1)
if (s[i]==s[i+1])
{
strcpy(s+i,s+i+2);
if (i>0)
i=i-1;
}
else i=i+1;
cout<<s;
getche();}
Se afiseaza : acde.

Varianta 11- exercitiul 3


Ce se afieaz pe ecran n urma executrii secvenei de program alturate, n care
variabila s memoreaz un ir cu cel mult 12 caractere, iar variabila i este de tip ntreg?
strcpy(s,abracadabra);
i=0;
cout<<strlen(s);
while (i<strlen(s))
if (s[i]=='a')
strcpy(s+i,s+i+1);
else
i=i+1;
cout<<" "<<s;
#include<string.h>
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
int main()
{int i;
char s[12];
strcpy(s,"abracadabra");
i=0;
cout<<strlen(s);
while (i<strlen(s))
if (s[i]=='a')
strcpy(s+i,s+i+1);
else
i=i+1;
cout<<" "<<s;
getche();}
Se afiseaza : brcdbr.

Varianta 12 exercitiul 4
Scriei ce se afieaz pe ecran n urma executrii secvenei de program alturate, n
care variabila s memoreaz un ir cu cel mult 12 caractere, iar variabila i este de tip
ntreg.
char s[13]="informatica";
cout<<strlen(s);
for (i=0;i<strlen(s);i++)
if (s[i]=='a' || s[i]=='e' || s[i]=='i' || s[i]=='o' || s[i]=='u')
s[i]= s[i]+1;
cout<<" "<<s;
#include<string.h>
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
int main()
{int i;
char s[13]="informatica";
cout<<strlen(s);
for (i=0;i<strlen(s);i++)
if ((s[i]=='a') || (s[i]=='e') || (s[i]=='i') || (s[i]=='o') || (s[i]=='u'))
s[i]= s[i]+1;
cout<<" "<<s;
getche();
}

Se afiseaza : jnfprmbtjcb.Varianta 13 exercitiul 4


Scriei ce se afieaz pe ecran n urma executrii secvenei de program alturate, n
care variabila s memoreaz un ir de cel mult 12 caractere, iar variabila i este de tip
ntreg.
char s[13]="abcdefghoid";
i=0;
cout<<strlen(s);
while (i<strlen(s))
if (s[i]=='a' || s[i]=='e' || s[i]=='i' || s[i]=='o' || s[i]=='u')
strcpy(s+i,s+i+1);
else i++;
cout<<" "<<s;
#include<string.h>
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
int main()
{int i;
char s[13]="abcdefghoid";
i=0;
cout<<strlen(s);
while (i<strlen(s))
if ((s[i]=='a') || (s[i]=='e') || (s[i]=='i') || (s[i]=='o') || (s[i]=='u'))
strcpy(s+i,s+i+1);
else i++;
cout<<" "<<s;
getche();}
Se afiseaza: 11 bcdfghd.

Varianta 14 exercitiul 3
Ce se afieaz pe ecran n urma executrii secvenei de
program alturate, n care variabila s memoreaz un ir cu cel mult 10 caractere, iar
variabilele i, j i k sunt de tip ntreg?
char s[11]="abcduecda";
cout<<strlen(s);
i=0; j=strlen(s)-1;
k=0;
while (i<j)
{ if (s[i]==s[j])
k=k+1;
i=i+1; j=j-1;
}
cout<<" "<<k;
#include<string.h>
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
int main()
{int i,j,k;
char s[11]="abcduecda";
cout<<strlen(s);
i=0;
j=strlen(s)-1;
k=0;
while (i<j)
{
if (s[i]==s[j])
k=k+1;
i=i+1;
j=j-1;
}
cout<<" "<<k;
getche();}
Se afiseaza: 9 2.

Varianta 15 exercitiul 3
Ce se afieaz pe ecran n urma executrii secvenei de program alturate, n care
variabila s memoreaz un ir cu cel mult 10 caractere, iar variabila i este de tip ntreg?
i=0; char s[11]="abaemeiut";
cout<<strlen(s);
while (i<strlen(s))
if (s[i]=='a' || s[i]=='e' || s[i]=='i' || s[i]=='o' || s[i]=='u)
{ strcpy(s+i,s+i+1); i=i+1; }
else
i=i+2;
cout<<" "<<s; | printf(" %s",s);
#include<conio.h>
#include<iostream>
#include<string.h>
using namespace std;
int main()
{ char s[11]="abaemeiut";
int i;
i=0;
cout<<strlen(s);
while (i<strlen(s))
if((s[i]=='a')||(s[i]=='e')||(s[i]=='i')||( s[i]=='o')||(s[i]=='u'))
{
strcpy(s+i,s+i+1);
i=i+1;
}
else
i=i+2;
cout<<" "<<s;
return 0;}
Se afiseaza: 9 bemeut.

Varianta 16 exercitiul 4
Ce va afia secvena alturat, tiind c variabila a memoreaz un ir cu cel mult 100
de caractere, iar variabila i este de tip ntreg?
strcpy(a,clasa a-XII-a A);
cout<<a<<endl;
for(i=0;i<strlen(a);i++)
if(a[i]>=a&&a[i]<=z)
cout<<a[i];
#include<iostream.h>
#include<conio.h>
#include<string.h>
int main()
{char a[100];
int i;
strcpy(a ,"clasa a-XII-a A");
cout<<a<<endl;
for(i=0;i<strlen(a);i++)
if((a[i]>='a')&&(a[i]<='z'))
cout<<a[i];
getche();}
Se afiseaza: clasaaa.

Varianta 17 exercitiul 4
Ce va afia secvena alturat de program, tiind c variabila a memoreaz un ir cu
cel mult 100 de caractere, iar variabila i este de tip ntreg?
strcpy(a,bacalaureat);
n=strlen(a);
cout<<n<<endl;
cout<<a[0]<<*<<a[n-1];
#include<iostream.h>
#include<conio.h>
#include<string.h>
int main()
{char a[100];
int i,n;
strcpy(a,"bacalaureat");
n=strlen(a);
cout<<n<<endl;
cout<<a[0]<<"*"<<a[n-1];
getche();}
Se afiseaza: 11
b*t.

Varianta 18 exercitiul 4
n secvena alturat, variabila a memoreaz un ir cu cel mult 100 de caractere, iar
variabila i este de tip ntreg. Completai punctele de suspensie din secven astfel nct
aceasta s afieze irul de caractere *nf*rm*t*c*.
strcpy(a,informatica);
for(i=0;i<strlen(a);i++)
if(...)
cout<<...;
else
cout<<...;
#include<iostream.h>
#include<conio.h>
#include<string.h>
int main()
{char a[100];
int i;
strcpy(a,"informatica");
for(i=0;i<strlen(a);i++)
if((a[i]=='a')||(a[i]=='e')||(a[i]=='o')||(a[i]=='u')||(a[i]=='i'))
cout<<"*";
else
cout<<a[i];
getche();}
Se afiseaza: *nf*rm*t*c*.

Varianta 19 exercitiul 3
Ce va afia secvena alturat de program, tiind c variabila x memoreaz un ir cu
cel mult 100 de caractere, iar variabila i este de tip ntreg?
strcpy(x,bac2008);
for(i=3;i<strlen(x);i++)
cout<<x[i];
cout<<x<<endl;
#include<conio.h>
#include<iostream>
#include<string.h>
using namespace std;
int main()
{ char x[100];
int i;
strcpy(x,"bac2008");
for(i=3;i<strlen(x);i++)
cout<<x[i];
cout<<x<<endl;
return 0;}
Se afiseaza: 2008bac2008.

Varianta 20 exercitiul 4
n secvena alturat, variabila a memoreaz un ir cu cel mult 100 de caractere, iar
variabila i este de tip ntreg. Completai punctele de suspensie, astfel nct aceasta s
afieze caracterele irului memorat n variabila a, n ordine invers celei n care se
gsesc n ir.
strcpy(a,Bac 2008 iulie);
for(...)
cout<<a[i];
#include<conio.h>
#include<iostream>
#include<string.h>
using namespace std;
int main()
{ char a[100];
int i;
strcpy(a,"Bac 2008 iulie");
for(i=strlen(a)-1;i>=0;i--)
cout<<a[i];
return 0;}
Se afiseaza: eilui 8002 caB.

Varianta 21- exercitiul 5


Se consider un text alctuit din cel mult 250 de caractere, n care cuvintele sunt
formate doar
din litere mici ale alfabetului englez i sunt separate prin unul sau mai multe caractere *.
Scriei un program C/C++ care citete de la tastatur textul i afieaz pe ecran, pe
cte o
linie, toate secvenele formate din cte dou litere identice, ca n exemplu.
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{char s[100];
int i;
cin>>s;
for(i=0;i<strlen(s);i++)
if((s[i]=s[i+1])&&(s[i]!='*'))
cout<<s[i]<<s[i+1]<<endl;;
getch();}
Daca citim copiii*sunt*la***zoo se afiseaza ii ii oo

Varianta 22- exercitiul 3


Ce valoare are expresia de mai jos dac variabila s memoreaz irul de caractere
alfabet, format numai din litere?
strlen(strcpy(s,s+2))
#include<string.h>
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{char s[8]="alfabet";
cout<<strlen(strcpy(s,s+2));
return 0;}
Se afiseaza: fabet.

Varianta 24 exercitiul 5
Scriei un program C/C++ care citete de la tastatur dou iruri de caractere formate
din maximum 100 litere mici ale alfabetului englez i afieaz pe ecran cel mai lung
suffix comun al celor dou iruri de caractere. Dac cele dou iruri nu au niciun sufix
comun, atunci programul va afia pe ecran mesajul NU EXIST.
Exemplu: pentru irurile marina i elena se va afia na
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{char s1[100],s2[100],s3[100];
int i,b,j,m,n,k=0;
cin>>s1>>s2;
b=0;
n=strlen(s1);
m=strlen(s2);
i=n-1;
j=m-1;
while((i>=0)&&(j>=0)&&(b==0))
if(s1[i]==s2[j])
{
s3[k]=s1[i];
k=k+1;
i=i-1;
j=j-1;
}
else
b=1;
if(k!=0)
{
s3[k]='\0';
cout<<strrev(s3);
}
else
cout<<"Nu exista";
return 0;}

Varianta 25 exercitiul 4
Scriei secvena de instruciuni care permite afiarea pe ecran a mesajului Corect dac
un ir de maximum 100 caractere, reinut de variabila s, conine caractere de tip cifr,
sau mesajul Incorect n caz contrar.
#include<string.h>
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{char s[100];
int i,k=0;
cin>>s;
for(i=0;i<strlen(s);i++)
if((s[i]>=65)&&(s[i]<=129))
k=1;
if(k==0)
cout<<"Incorect";
else
cout<<"Corect";
return 0;
}

Varianta 26 exercitiul 3
Care va fi irul de caractere afiat dup executarea secvenei alturate , n care
variabila s memoreaz un ir cu cel mult 5 caractere?
char s[]=RATON;
s[1]=s[3];
cout<<s;
#include<conio.h>
#include<iostream>
#include<string.h>
using namespace std;
int main()
{char s[6]="RATON";
s[1]=s[3];
cout<<s;
return 0;}
Se afiseza: ROTON.

Varianta 28 exercitiul 5
irul de caractere s2 este clona irului de caractere s1 dac se poate obine din s1
prin eliminarea tuturor apariiilor unei singure vocale. Se consider vocal orice liter
din mulimea {a,e,i,o,u}. Scriei programul C/C++ care citete de la tastatur un cuvnt
format din cel mult 20 litere mici ale alfabetului englez i afieaz pe ecran, toate
clonele acestui cuvnt, fiecare pe cte o linie a ecranului.
Exemplu: pentru cuvntul informatica se afieaz, nu neaprat n aceast ordine,
clonele scrise alturat.
nformatca
infrmatica
informtic
#include <iostream>
#include <string.h>
using namespace std;
int main()
{ char s1[100],s2[100],s[7]="aeiou";
int i,j;
cin>>s1;
for(i=0;i<5;i++)
{
strcpy(s2,s1);
j=0;
while(j<strlen(s2))
if(s2[j]==s[i])
strcpy(s2+j,s2+j+1);
else
j=j+1;
if(strcmp(s1,s2)!=0)
cout<<s2<<endl;
}
return 0; }

Varianta 29 exercitiul 3
Care va fi irul de caractere afiat pe ecran dup executarea secvenei alturate, n
care variabila s memoreaz un ir cu cel mult 4 caractere, iar variabila t un caracter?
char s[]=arac;
t=s[1];
s[1]=s[3];
s[3]=t;
cout<<s;
#include<string.h>
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int t;
char s[5]="arac";
t=s[1];
s[1]=s[3];
s[3]='t';
cout<<s;
return 0;}
Se afiseaza: acat.

Varianta 32 exercitiul 5
Scriei un program C/C++ care citete de la tastatur dou caractere c1 i c2 i un text
avnd cel mult 250 caractere (spaii i litere ale alfabetului englez), pe care l modific
nlocuind toate apariiile caracterului memorat n c1 cu cel memorat n c2 i toate
apariiile caracterului memorat n c2 cu cel memorat n c1. Programul afieaz pe linii
separate ale ecranului att textul iniial ct i textul obinut dup efectuarea nlocuirilor.
Exemplu: dac pentru c1 se citete a, pentru c2 se citete o iar textul citit este:
hocus pocus preparatus
se va afia :
hocus pocus preparatus
hacus pacus preporotus
#include<conio.h>
#include<iostream>
#include<string.h>
using namespace std;
int main()
{ char s[250],c1 ,c2;
int i;
cin>>c1;
cin>>c2;
cin.get(s,250);
for(i=0;i<=strlen(s);i++)
if(s[i]==c1)
s[i]=c2;
else
if(s[i]==c2)
s[i]=c1;
cout<<s;
return 0;}

Varianta 33 exercitiul 5
Scriei un program C/C++ care citete de la tastatur o fraz de maximum 255 de
caractere (litere mari ale alfabetului englez i spaii), ale crei cuvinte sunt desprite
prin cte un spaiu i afieaz pe primul rnd al ecranului numrul total al cuvintelor din
fraz, iar pe rndul urmtor de ecran, n ordine alfabetic, scrise o singur dat,
consoanele care au aprut n fraz (consoane sunt toate literele alfabetului englez, mai
puin A, E, I, O, U). Literele afiate sunt separate prin cte un spaiu.
Exemplu: dac se citete fraza LA BACALAUREAT SUBIECTELE AU FOST USOARE
se va afia:
6
BCFLRST
#include <iostream>
#include <string.h>
using namespace std;
int main()
{ char s[255],v[6]="AEIOU",i;
int k=1,j;
cin.get(s,255);
for(j=0;j<strlen(s);j++)
if((s[j]==' ')&&(s[j+1]!=0))
k=k+1;
for(i='B';i<='Z';i++)
if((strchr(v,i)==0)&&(strchr(s,i)!=0))
cout<<i<<" ";
cout<<endl<<k;
return 0; }

Varianta 34 - exercitiul 3
Ce se va afia n urma executrii secvenei alturate, n care variabila c memoreaz un
ir cu cel mult 20 de caractere, iar i este o variabil de tip ntreg?
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{int x;
char s[100]='tastatura';
x=strlen(s);
for (i=0;i<x/2;i++)
cout<<s[i]<<s[x-i-1];
getch();}
Se afiseaza: taarsutt.

Varianta 35 - exercitiul 3
Ce se va afia n urma executrii secvenei alturate, n care variabila c memoreaz un
ir cu cel mult 20 de caractere, iar variabila ieste de tip ntreg?
#include<iostream>
#include<string.h>
#include<conio.h>
using namespace std;
int main()
{char c[12]=tamara
int i;
cout<<strlen(c)<<endl;
for(i=3;i>=0;i--)
cout<<c[i];
getch();}
Raspuns: 6
amat

Varianta 36 exercitiul 1
tiind c n urma executrii secvenei alturate s-a afiat succesiunea de caractere
EXAMEN, care este irul de caractere memorat de variabila s?
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{char s[100];
cin>>s;
s[0]= 'E';
s[strlen(s)-1]= 'A';
s[strlen(s)/2-1]= 'N';
s[strlen(s)/2]= 'M';
cout<<s;
getch();}
Raspuns: NEEXMA

Varianta 37 exercitiul 4
Un ir cu maximum 255 de caractere conine cuvinte separate prin unul sau mai multe
spaii. Cuvintele sunt formate numai din litere mici ale alfabetului englez. Scriei un
program C/C++ care citete un astfel de ir i l afieaz modificat, prima i ultima liter
a fiecrui cuvnt fiind afiat ca liter mare.
Exemplu: pentru irul: maine este proba la informatica se va afia:
MainE EstE ProbA LA InformaticA
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{char s[100];
int i,n;
cin.get(s,100);
s[0]=s[0]-32;
n=strlen(s);
s[n-1]=s[n-1]-32;
for(i=0;i<strlen(s);i++)
{if((s[i]==' ')&&(s[i+1]!=' '))
s[i+1]=s[i+1]-32;
if((s[i]!=' ')&&(s[i+1]==' '))
s[i]=s[i]-32;}
cout<<s;
getche();}

Varianta 38 exercitiul 2
Considerm c variabila s memoreaz irul de caractere examen. Care va fi valoarea
lui s dup executarea instruciunilor scrise alturat?
s[0]= E;
s[strlen(s)-1]= A;
s[strlen(s)/2-1]= N;
s[strlen(s)/2]= M;
a. ExNMeA
b. exAMen
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{ char s[10]="examen";
s[0]='E';
s[strlen(s)-1]= 'A';
s[strlen(s)/2-1]='N' ;
s[strlen(s)/2]='M';
cout<<s;
return 0;}
Se afiseaza: a. ExNMeA .

c. ExAMeN

d. ExameN

Varianta 39 exercitiul 5
Un ir cu maximum 255 de caractere conine cuvinte separate prin cte un spaiu.
Cuvintele sunt formate numai din litere mici ale alfabetului englez. Scriei un program
C/C++ care citete de la tastatur un astfel de ir i l afieaz pe ecran modificat,
inversnd prin oglindire doar cuvintele care ncep cu vocal, ca n exemplu. Se
consider vocale literele din mulimea {a, e, i, o, u}.
Exemplu: pentru irul: maine este proba la informatica se va afia:
maine etse proba la acitamrofni
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{ char a[255],b[255],v[7]="aeiou";
int i,k;
cin.get(a,255);
for(i=0;i<strlen(a);i++)
{
if((strchr(v,a[i]))&&((a[i-1]==' ')||(i==0)))
{
k=0;
while(a[i]!=' ')
{
b[k]=a[i];
k=k+1;
i=i+1;
}
b[k]='\0';
strrev(b);
cout<<b;
}
cout<<a[i];
}
return 0;}

Varianta 40 exercitiul 5
Un ir cu maximum 255 de caractere conine cuvinte formate numai din litere mici ale
alfabetului englez. Fiecare cuvant este urmat de un caracter *. Scriei un program C/C+
+ care citete un astfel de ir i afieaz pe ecran irul obinut prin eliminarea tuturor
apariiilor primului cuvnt, ca n exemplu.
Exemplu: pentru irul: bine*albine*foarte*bine* se va afia:
*albine*foarte**
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{ char s[255],c[100];
int i,k=0,n;
cin>>s;
c[0]='*';
i=0;
while((i<strlen(s))&&(k==0))
{
if(s[i!='*'])
c[i+1]=s[i];
else
k=1;
i=i+1;
}
c[i]='*';
c[i+1]='\0';
i=0;
n=strlen(s);
while((strstr(s,c))&&(i<n))
{
strcpy(s+i,s+strlen(c)-1);
i=i+1;
}
cout<<s;
return 0;}

Varianta 42 exercitiul 5
Scriei programul C/C++ care citete de la tastatur un ir de cel mult 40 de caractere,
format doar din litere mici ale alfabetului englez, i care afieaz pe ecran, pe o singur
linie, toate vocalele ce apar n irul citit. Vocalele vor fi afiate n ordinea apariiei lor n
ir, separate prin cte un spaiu, ca n exemplu. Se consider ca fiind vocale
urmtoarele litere: a, e, i, o, u. Dac irul citit nu conine nicio vocal, se va afia pe
ecran mesajul fara vocale.
Exemplu: dac se citete irul calculator atunci pe ecran se va afia: a u a o
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{ char a[40];
int i;
cin>>a;
for(i=0;i<strlen(a );i++)
if((a[i]=='a')||(a[i]=='e')||(a[i]=='i')||(a[i]=='o')||(a[i]=='u'))
cout<<a[i]<" ";
return 0;}

Varianta 43 exercitiul 4
Ce se afieaz n urma executrii secvenei de program alturate, tiind c variabilele a
i b pot memora cte un ir de cel mult 12 caractere?
strcpy(a,"informatica");
strcpy(b,a);
cout<<strlen(b);
| printf("%d",strlen(b));
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{ char a[12],b[12];
strcpy(a,"informatica");
strcpy(b,a);
cout<<strlen(b);
return 0;}

Varianta 44 exerctiul 4
Ce valoare se va afia pe ecran n urma executrii secvenei de program alturate,
tiind c a este o variabil care memoreaz un ir de caractere, iar i este o variabil de
tip ntreg?
strcpy(a,"info");
for(i=2;i<strlen(a);i++)
cout<<a[i]; | printf("%c",a[i]);
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{ char a[5];
int i;
strcpy(a,"info");
for(i=2;i<strlen(a);i++)
cout<<a[i];
return 0;}

Varianta 45 exercitiul 5
Scriei programul C/C++ care citete de la tastatur un ir de cel mult 40 de caractere,
format doar din litere ale alfabetului englez, i care afieaz pe ecran toate irurile
obinute prin eliminarea succesiv a cte unei singure litere din irul citit, ca n exemplu.
irurile se vor afia cte unul pe cte o linie a ecranului.
Exemplu: dac se citete irul abbc atunci pe ecran se va afia:
bbc
abc
abc
abb
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{ char s[40],aux[40];
int i,x;
cin>>s;
x=strlen(s);
for(i=0;i<x;i++)
{
strcpy(aux,s);
strcpy(aux+i,aux+i+1);
cout<<aux;
cout<<endl;
}
return 0;}

Varianta 46 exercitiul 5
Se consider un text format doar din spaii i litere mici ale alfabetului englez, care
ncepe cu o liter i care conine cel puin o vocal din multimea {a,e,i,o,u}. Scriei
programul C/C++ care citete de la tastatur un ir cu cel mult 100 de caractere, ca cel
descris mai sus i care determin transformarea acestuia prin nlocuirea fiecrei vocale
din text cu litera imediat urmtoare din alfabet (a se nlocuiete cu b, e se nlocuiete cu
f .a.m.d.). Programul va afia pe ecran irul obinut.
Exemplu: dac irul citit este examen de bacalaureat, dup modificare se afieaz:
fxbmfn df bbcblbvrfbt
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{ char a[100];
int i;
cin.get(a,100);
for(i=0;i<strlen(a );i++)
if((a[i]=='a')||(a[i]=='e')||(a[i]=='i')||(a[i]=='o')||(a[i]=='u'))
a[i]=a[i]+1;
cout<<a;
return 0;}

Varianta 47 exercitiul 3
Variabila s reine irul de caractere bacalaureat. Ce se afieaz la executarea
instruciunii de mai jos?
cout<<strchr(s,a);
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{ char s[20]="bacalaureat";
cout<<strchr(s,'a');
return 0;}
Se afiseaza: acalaureat.

Varianta 49 exercitiul 5
Un cuvnt s, de cel mult 20 caractere, format doar din litere mici ale alfabetului englez,
conine cel puin o consoan. Scriei programul C/C++ care citete de la tastatur
cuvntul s, construiete n memorie i afieaz pe ecran cuvntul obinut prin
eliminarea tuturorconsoanelor din cuvntul s. Se consider consoan oricare liter care
nu se afl n mulimea {a, e, i, o, u}.
Exemplu: dac se citete cuvntul bacalaureat, pe ecran se afieaz: aaauea
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{char s[255],v[7]="aeiou";
int i,n;
cin>>s;n=strlen(s);
i=0;
while(i<n)
if(strchr(v,s[i])==0)
strcpy(s+i,s+i+1);
else
i=i+1;
cout<<s;
return 0;}

Varianta 50 exercitiul 5
Scriei programul C/C++ care citete de la tastatur un cuvnt s de cel mult 20 litere
mici ale alfabetului englez, construiete n memorie i afieaz pe ecran cuvntul s
dup eliminarea primei i a ultimei vocale. Cuvntul s conine cel puin dou vocale. Se
consider vocale literele: a, e, i, o, u.
Exemplu: dac se citete cuvntul bacalaureat, pe ecran se afieaz: bcalauret
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{char s[255],v[7]="aeiou";
int i,n,p=0;
cin>>s;
n=strlen(s);
i=0;
while((i<n)&&(p==0))
if(strchr(v,s[i])!=0)
{
strcpy(s+i,s+i+1);
p=1;
}
else
i=i+1;
i=strlen(s)-1;
while((i>=0)&&(p==1))
if(strchr(v,s[i])!=0)
{
strcpy(s+i,s+i+1);
p=0;
}
else
i=i-1;
cout<<s;
return 0;}

Varianta 51 exercitiul 5
Scriei un program C/C++ care citete de la tastatur un ir avnd maximum 30 de
caractere i afieaz pe ecran mesajul DA n cazul n care irul conine numai litere i
spaii, iar n caz contrar afiez mesajul NU.
Exemplu: dac se citete de la tastatur irul:
Ana, Bogdan au 18 ani.
atunci programul va afia mesajul Nu.
#include<conio.h>
#include<iostream.h>
#include<string.h>
int main()
{char s[30];
int i,p=0,n;
cin.get(s,30);
i=0;
n=strlen(s);
while((i<n)&&(p==0))
if((s[i]>=65)||(s[i]==' '))
i=i+1;
else
p=1;
if(p==0)
cout<<"da";
else
cout<<"nu";
getche();}

Varianta 52 exercitiul 5
Scriei un program C/C++ care citete de la tastatur o fraz avnd maximum 100 de
caractere, n care cuvintele sunt separate prin cte un spaiu; programul construiete n
memorie i afieaz pe ecran un ir ce conine doar primul caracter al fiecruia dintre
cuvintele frazei, n ordinea n care acestea apar n fraz, ca n exemplu.
Exemplu: dac se citete fraza
Ana sustine bacalaureatul la informatica
atunci se va afia Asbli
#include<conio.h>
#include<iostream.h>
#include<string.h>
int main()
{char s[100];
int i;
cin.get(s,100);
cout<<s[0];
for(i=1;i<strlen(s);i++)
if((s[i]==' ')&&(s[i+i]!=' '))
cout<<s[i+1];
getche();}

Varianta 55 exercitiul 5
Scriei un program C/C++ care citete de la tastatur un ir format din maximum
100caractere,
construiete n memorie i afieaz un nou ir de caractere obinut din irul initial prin
eliminarea tuturor caracterelor care nu sunt caractere cifr. n cazul n care noul ir are
lungimea 0 se va afia mesajul ir vid.
Exemplu: dac se citete de la tastatur irul de caractere.
Ana are 17 ani .
atunci irul cerut este:
17
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
int main()
{char s[100];
int i,n;
cin.get(s,100);
i=0;
n=strlen(s);
while(i<n)
if(((s[i]>=65)&&(s[i]<=129))||(s[i]==' '))
strcpy(s+i,s+i+1);
else
i=i+1;
cout<<s;
return 0;}

Varianta 58 exercitiul 5
Scriei un program C/C++ care citete de la tastatur un ir de cel mult 50 de caractere
(litere mici i mari ale alfabetului englez, cifre i spaii), determin i afieaz pe ecran
cte litere mari, cte litere mici i cte caractere nu sunt litere n irul citit.
Exemplu: dac se citete irul: Voi lua 9 la matematica si 10 la informatica
atunci se va afia: 1 32 11.
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
int main()
{char s[50];
int i,n,k=0,l=0,m=0;
cin.get(s,50);
n=strlen(s);
for(i=0;i<n;i++)
if((s[i]>=65)&&(s[i]<97))
k=k+1;
else
if((s[i]>=97)&&(s[i]<=129))
l=l+1;
m=n-k-l;
cout<<k<<" "<<l<<" "<<m;
return 0;}

Varianta 59 exercitiul 5
Scriei un program C/C++ care citete de la tastatur un ir de cel mult 50 de caractere
(litere mici i mari ale alfabetului englez, cifre, puncte, virgule i spaii) i afieaz pe
ecran cifra care apare de cele mai multe ori n irul citit. Dac irul conine mai multe
cifre cu numr maxim de apariii, atunci se va afia cea mai mic dintre acestea. Dac
irul nu conine cifre, se va afia pe ecran mesajul NU.
Exemplu: dac se citete irul:
Voi lua 9,5 la matematica 10 la informatica si 10 la romana
atunci se va afia cifra 0 (pentru c cifrele 0 i 1 apar de cele mai multe ori n ir i 0
este
cea mai mic dintre ele)
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
int main()
{char s[50];
int i, n, max, f[10],t;
cin.get(s,50);
for(i=0;i<=9;i++)
f[i]=0;
n=strlen(s);
for(i=0;i<n;i++)
if((s[i]>='0')&&(s[i]<='9'))
f[s[i]]=f[s[i]]+1;
max=f[0];
for(i=1;i<=9;i++)
if(f[i]>max)
{max=f[i];
t=i;}
cout<<t;
return 0;}

Varianta 60 exercitiul 5
Scriei un program C/C++ care citete de la tastatur un ir de cel mult 50 de caractere
(litere mici i mari ale alfabetului englez, cifre i spaii) i afieaz pe ecran litera mic
cel mai des ntlnit n irul citit. Dac exist mai multe litere mici cu numr maxim de
apariii, programul o va afia pe prima dintre ele n ordine alfabetic. Dac irul nu
conine litere mici, atunci pe ecran se va afia mesajul nu.
Exemplu: dac se citete irul:
mergem la munte
atunci se va afia: e (pentru c literele e i m apar de cele mai multe ori n ir i e este
prima
dintre ele n ordine alfabetic).
#include <iostream>
#include <string.h>
using namespace std;
int main()
{char s[51],v[129];
int k,i,max;
cin.get(s,51);
for(i=97;i<=129;i++)
v[i]=0;
for(i=0;i<strlen(s);i++)
if((s[i]>=97)&&(s[i]<=129))
v[s[i]]=v[s[i]]+1;
max=0;
for(i=97;i<=129;i++)
if(max<v[i])
{max=v[i];
k=i; }
cout<<(char)k;
return 0;
}

Varianta 62 exercitiul 5
Scriei un program C/C++ care citete de la tastatur un text de cel mult 255 de
caractere, dintre care cel puin unul este o liter mic a alfabetului englez, i afieaz
pe ecran pe o singur linie, desprite prin cte un spaiu, toate literele mici ale
alfabetului englez care apar n text. Fiecare liter va fi afiat o singur dat, n ordinea
primei ei apariii n text.
Exemplu: pentru textul:
Calculati valoarea expresiei
Pe ecran se va afia:
alcutivorexps
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
int main()
{char i,s[251];
int v[100];
cin.get(s,251);
for(i='a';i<='z';i++)
v[i]=0;
for(i=0;i<strlen(s);i++)
if((s[i]>'a')&&(s[i]<='z'))
{
v[s[i]]=v[s[i]]+1;
if(v[s[i]]==1)
cout<<s[i]<<" ";
}
return 0;}

Varianta 64 exercitiul 5
Scriei un program C/C++ care citete de la tastatur un text format din cel mult 200 de
litere ale alfabetului englez, n care cuvintele sunt separate printr-un singur spaiu i
afieaz pe ecran numrul de cuvinte din textul citit, care au prima, respectiv ultima
liter, vocal. n cazul n care n text nu exist un astfel de cuvnt, se va afia pe ecran
mesajul NU EXISTA. Se consider vocal orice liter din mulimea {a,A,e,E,i,I,o,O,u,U}.
Exemplu: dac textul introdus este:
Eratostene a sugerat ca anii bisecti se repeta la fiecare patru ani
pe ecran se va afia :
4
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{ char a[255],b[255],v[7]="aeiou";
int i,k;
cin.get(a,255);
for(i=0;i<strlen(a);i++)
{
if((strchr(v,a[i]))&&((a[i-1]==' ')||(i==0)))
{
k=0;
while(a[i]!=' ')
{
b[k]=a[i];
k=k+1;
i=i+1;
}
b[k]='\0';
strrev(b);
cout<<b;
}
cout<<a[i];
}
return 0;}

Varianta 66 exercitiul 5
Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult 50 de
caractere, litere mari ale alfabetului englez, i afieaz pe ecran, fiecare pe cte o linie,
toate prefixele acestuia, n ordine cresctoare a lungimilor. Un prefix de lungime k al
unui cuvnt este un subir format din primele k caractere ale acestuia. (10p.)
Exemplu: dac se citete cuvntul BACALAUREAT se vor afia prefixele:
B
BA
BAC
BACA
BACAL
BACALA
BACALAU
BACALAUR
BACALAURE
BACALAUREA
BACALAUREAT
#include<conio.h>
#include<string.h>
#include<iostream.h>
int main()
{char s[255];
int i,k,j;
cin>>s;
k=1;
while(k<=strlen(s))
{for(i=0;i<k;i++)
cout<<s[i];
cout<<endl;
k=k+1;
}
getche();}

Varianta 67 exercitiul 5
Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult 50
caractere, litere mari ale alfabetului englez, i afieaz pe ecran, fiecare pe cte o linie,
toate sufixele acestuia, n ordine cresctoare a lungimilor. Un sufix de lungime k al unui
cuvnt este un subir format din ultimele k caractere ale acestuia. (10p.)
Exemplu: dac se citete cuvntul EXAMEN se vor afia sufixele :
N
EN
MEN
AMEN
XAMEN
EXAMEN
#include<conio.h>
#include<string.h>
#include<iostream.h>
int main()
{char s[255];
int i,k,n,j;
cin>>s;
n=strlen(s);
k=n-1;
while(k>=0)
{for(i=k;i<n;i++)
cout<<s[i];
cout<<endl;
k=k-1;
}
getche();}

Varianta 73 exercitiul 5
Se consider un text avnd maximum 255 de caractere, format numai din litere mici ale
alfabetului englez i spaii, n care oricare dou cuvinte alturate n text sunt desprite
printr-un singur spaiu. Ultimul caracter din text este diferit de spaiu. Scriei un program
C/C++ care citete de la tastatur un text ca cel descris mai sus i afieaz pe ecran,
desprite printr-un spaiu, numrul de cuvinte din text i cte dintre acestea au prima
liter vocal (a, e, i, o sau u).
Exemplu: pentru urmtoarul text ele sunt eleve in clasa a opta se va afia: 7 5
#include<iostream.h>
#include<conio.h>
#include<string.h>
int main()
{ char text[100],*p,separator[]=" .,!?",voc[]="aeiou";
int i,n=0,k=0;
cout<<"Dati textul:"<<endl;
cin.get(text,100);
p=strtok(text,separator);
while(p)
{
n=n+1;
if(strchr(voc,p[0])!=0)
k=k+1;
p=strtok(NULL,separator);
}
cout<<n<<" "<<k;
getche();}

Varianta 77 exercitiul 5
Scriei programul C/C++ care citete de la tastatur un text de cel mult 50 de caractere,
(litere mici ale alfabetului englez i spaii), text format din mai multe cuvinte, separate
prin cte un spaiu, i afieaz pe ecran textul obinut din cel iniial prin transformarea
primei litere i a ultimei litere a fiecrui cuvnt n majuscul.
Exemplu: dac se citete textul
azi este examen de bacalaureat
se va afia
AzI EstE ExameN DE BacalaureaT
#include<iostream.h>
#include<conio.h>z
#include<string.h>
int main()
{ char text[100],*p,separator[]=" .,!?",voc[]="aeiouAEIUO";
int k=0;
cout<<"Dati sirul"<<endl;
cin.get(text,100);
p=strtok(text,separator);
while(p)
{ p[0]=p[0]-32;
p[strlen(p)-1]=p[strlen(p)-1]-32;
cout<<p<<" ";
p=strtok(NULL,separator);
}
getche();}

Varianta 78 exercitiul 5
Scriei programul C/C++ care citete de la tastatur un text cu cel mult 100 de caractere
i un cuvnt cu cel mult 15 litere. Pe ecran se va afia irul obinut prin inserarea n
textul iniial a caracterului ? dup fiecare apariie a cuvntului citit. Literele textului i ale
cuvntului sunt litere mici ale alfabetului englez. Dac n text nu apare cuvntul citit, se
va afia mesajul NU APARE.
Exemplu: dac se citete de la tastatur textul
examenului examenul de bacalaureat si examenul de atestat
i cuvntul examenul
se va afia:
examenului examenul? de bacalaureat si examenul? de atestat
#include<iostream.h>
#include<conio.h>
#include<string.h>
int main()
{ char text[100],cuv[15],*p,separator[]=" .,!?";
int k=0;
cout<<"Dati sirul"<<endl;
cin.get(text,100);
cin>>cuv;
p=strtok(text,separator);
while(p)
{ if(strcmp(p,cuv)==0)
cout<<p<<"?"<<" ";
else
cout<<p<<" ";
p=strtok(NULL,separator);
}
getche();}

Varianta 79 exercitiul 5
Scriei programul C/C++ care citete de la tastatur un text cu cel mult 100 de caractere
(litere ale alfabetului englez i spaii), construiete n memorie i apoi afieaz pe ecran
irul de caractere obinut din irul iniial n care se insereaz dup fiecare vocal
caracterul *. Se consider vocale literele a, e, i, o, u, A, E, I, O, U. Dac textul citit nu
conine vocale, se va afia mesajul FARA VOCALE.
Exemplu: dac se citete de la tastatur textul Examenul de bacalaureat se va afia:
E*xa*me*nu*l de* ba*ca*la*u*re*a*t.
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
int main()
{char s[100],v[]="aeiouAEIOU",x[]="*",aux[100];
int i,k=0;
cin.get(s,100);
for(i=0;i<strlen(s);i++)
if(strchr(v,s[i])!=0)
{
k=1;
strcpy(aux,s+i+1);
strcpy(s+i+1,x);
strcpy(s+i+2,aux);
}
if(k==0)
cout<<"Fara vocale";
else
cout<<s;
return 0;}

Varianta 80 exercitiul 5
Scriei programul C/C++ care citete de la tastatur un cuvnt cu cel puin una i cel
mult 20 de litere ale alfabetului englez, construiete i afieaz pe ecran cuvntul
obinut prin interschimbarea primei consoane cu ultima vocal din cuvnt. n cazul n
care cuvntul este format numai din vocale sau numai din consoane, programul
afieaz pe ecran mesajul IMPOSIBIL. Se consider vocale literele a, e, i, o, u, A, E, I,
O, U.
Exemplu: dac se citete cuvntul Marmorat se va obine i afia cuvntul aarmorMt
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
int main()
{char s[10],v[]="aeiouAEIOU",aux;
int i,k=0,t,t2;
cin>>s;
i=0;
while((k==0)&&(i<strlen(s)))
{
if(strchr(v,s[i])==0)
{
k=1;
t=i;
}
i=i+1;
}
i=strlen(s);
while((k==1)&&(i>0))
{
i=i-1;
if(strchr(v,s[i])!=0)
k=0;
}
aux=s[t];
s[t]=s[i];
s[i]=aux;
cout<<s;
return 0;}

Varianta 87 exercitiul 5
Scriei un program C/C++ care citete de la tastatur un ir de cel mult 100 de
caractere, care pot fi litere ale alfabetului englez, cifre, semne de punctuaie i spaii, i
transform irul citit nlocuind toate literele mici cu literele mari corespunztoare i toate
literele mari cu literele mici corespunztoare. Programul va afia pe o linie a ecranului
irul rezultat n urma acestor nlocuiri, iar pe urmtoarea linie a ecranului numrul de
caractere care au rmas nemodificate.
Exemplu: dac irul citit este:
Ana-Maria are 3 frati.
programul va afia
aNA-mARIA ARE 3 FRATI.
6
#include<conio.h>
#include<iostream.h>
#include<string.h>
int main()
{char s[100];
int i,n,k=0;
cin.get(s,100);
n=strlen(s);
for(i=0;i<n;i++)
if((s[i]>=65)&&(s[i]<97))
s[i]=s[i]+32;
else
if((s[i]>=97)&&(s[i]<=129))
s[i]=s[i]-32;
else
k=k+1;
cout<<s<<endl<<k;
getche();}

Varianta 93 exercitiul 5
Un ir de caractere s se numete ablon pentru un alt ir de caractere x, dac este
format din caractere din mulimea {*,?,#}, are aceeai lungime cu x i pe fiecare poziie
din s n care apare * n x se gsete o vocal, pe fiecare poziie din s n care apare # n
x se gsete o consoan i pe fiecare poziie din s n care apare ? putem avea orice
character n x. Se consider vocal orice liter din mulimea {a,e,i,o,u}. Scriei
programul C/C++ care citete de la tastatur dou iruri de caractere, de aceeai
lungime, formate din cel mult 200 de litere mici ale alfabetului englez, i afieaz pe
ecran un ablon comun celor dou iruri citite, care conine un numr minim de
caractere ?.
Exemplu: pentru irurile diamant i pierdut se afieaz #**#??#
#include<conio.h>
#include<iostream.h>
#include<string.h>
int main()
{char s1[100],s2[100],voc[]="aeiou",v[100];
int i,n;
cin>>s1>>s2;
n=strlen(s1);
for(i=0;i<n;i++)
if((strchr(voc,s1[i])!=0)&&(strchr(voc,s2[i])!=0))
v[i]='*';
else
if((strchr(voc,s1[i])==0)&&(strchr(voc,s2[i])==0))
v[i]='#';
else
v[i]='?';
cout<<v;
getche();}