vineri, 9 mai 2014

PROBLEME REZOLVATE

1. 
Se citeste un cuvant format din litere mici. Sa se afiseze cuvintele care se obtin prin eliminarea succesiva a primei si ultimei litere din cuvantul citit.
Ex: Daca de citeste cuvantul alina se vor afisa:
alina
lin
i

#include<iostream.h>
#include<string.h>
int main()
{
 char a[100];
 cin>>a;
 while(strlen(a)>0)
  { cout<<a;
    cout<<endl;
    strcpy(a,a+1);
    strcpy(a+strlen(a)-1,a+strlen(a));
  }
 return 0;
}

2.
Se citeste un sir de caractere format din cel mult 100 de caractere. Sa se numere si sa se stearga vocalele din sir.
Ex: Pentru sirul abracadabra se afiseaza
5 si brcdbr

#include<iostream.h>
#include<string.h>
int main()
{
 char a[101],v[]="aeiouAEIOU";
 cin.get(a,100);
 int i,k=0;
 for(i=0;i<strlen(a);i++)
 if (strchr(v,a[i])!=0)
  {k++;
   strcpy(a+i,a+i+1);
  }
 cout<<k<<" "<<a;
 return 0;
}

3. 
Se citeste un cuvant format din litere mici. Sa se inlocuiasca fiecare vocala mica din cuvant cu vocala mare corespunzatoare.
Ex: Cuvantul algoritm se va transforma in AlgOrItm.

#include<iostream.h>
#include<string.h>

void main()
{ char v[]="aeiou";
  char s[40];
  int i;
  cin>>s;
  for(i=0;i<strlen(s);i++)
    if(strchr(v,s[i])!=0) s[i]=s[i]+'A'-'a';
  cout<<s;
}

4.
Se citeste un cuvant s format din maxim 200 de litere mici. Sa se elimine toate perechile de cate 2 litere alaturate identice.
Ex: din annaaalina se obtine lina 

#include<iostream.h>
#include<string.h>
void main()
{ char s[200];
 int i=0;
 cin>>s;
 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++;
 }
 cout<<s;
 }

5.
Se citeste un cuvânt format doar din litere mici. Sa se permute circular spre stânga literele din el si sa se afiseze cuvântul astfel obtinut.
Ex. Alina => linaA 
#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
  char s[30],aux;
  int i;  
  cin>>s;
  aux=s[0];
  for(i=0;i<strlen(s)-1;i++) s[i]=s[i+1];
  s[strlen(s)-1]=aux;
  cout<<s;
  system("PAUSE"); 
  return 0;
}

6. 
Se citeste un text scris cu litere mici si spatii. Sa se înlocuiasca în fiecare cuvânt din text prima si ultima litera cu literele mari corespunzatoare.
Ex. ana are mere => AnA ArE MerE 

#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
  char s[50],aux;
  int i;  
  cin.get(s,60);
  s[0]=s[0]-32;
  for(i=1;i<strlen(s)-1;i++) 
    if(s[i]!=' ' && (s[i+1]==' ' || s[i-1]==' ')) s[i]=s[i]-32;
      s[strlen(s)-1]=s[strlen(s)-1]-32;
  cout<<s;
  system("PAUSE"); 
  return 0;
}

7.
Se citeste un cuvânt format din numar par de litere. Sa se interschimbe litera de pe prima pozitie cu cea de pe a doua, a treia cu a patra, etc.
Ex. cosmin => ocmsni 

#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
  char s[30],aux;
  int i;  
  cin>>s;
  for(i=0;i<strlen(s)-1;i=i+2) 
  { aux=s[i];
    s[i]=s[i+1];
    s[i+1]=aux;
  }    
  cout<<s;
  system("PAUSE"); 
  return 0;
}

8.
Se citeste un text scris cu litere mici si spatii. Sa se codifice textul prin înlocuirea fiecarei litere cu urmatoarea din alfabet, litera ‘z’ înlocuindu-se cu ’a’ .
Ex. ana are mere => bob bsf nfsf 
#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
  char s[50],aux;
  int i;  
  cin.get(s,50);
  for(i=0;i<strlen(s);i++) 
    if(s[i]!=' ') if(s[i]=='z') s[i]='a';
                  else s[i]=s[i]+1;
  cout<<s;
  system("PAUSE"); 
  return 0;
}