Orar semigroup #2

Orar semigroup #2

Archive for octombrie 2010

Temă 1 noiembrie

Să se elimine caracterele inutile şi spaţiile inutile dintr-un text pentru a număra cuvintele.

#include<iostream>
using namespace std;
int main()
{int i=0,j,n,k;
char a[100],*p,aux;
cin.get(a,100);
for(p=a;*p;p++)
    if(strchr(",.!?",*p))
        *p=' ';
   
for(p=a;*p;p++)
    if(*p==' ')
        while(*(p+1)==' ')
            strcpy(p+1,p+2);
       
for(p=a;*p;p++)
        if(*p==' ' && (isalpha(*(p+1)) || isdigit(*(p+1)) ) )
            i++;
       
cout<<a<<endl;
cout<<i<<" cuvinte";
}

sâmbătă, 30 octombrie 2010 by DlMuresan
Categories: , , , | Leave a comment

Tema

#include<iostream>
using namespace std;
int main()
{int n,i,r=0;
char a[100],*p;
cin.get(a,100);
n=strlen(a);
cout<<"Vocalele din sir"<<endl;
for(p=a;*p;p++)
    if(strchr("aAeEiIoOuU",*p))
        {cout<<*p<<";";r++;}
cout<<endl;
cout<<r<<" vocale in sir"<<endl;
cout<<"Perechile de vocale"<<endl;
for(p=a;*p;p++)
    if(strchr("aAeEiIoOuU",*p) && strchr("aeiouAEIOU",*(p+1)) && *(p+1)!=NULL)
        cout<<*p<<";"<<*(p+1)<<endl;
cout<<endl;
}

joi, 28 octombrie 2010 by DlMuresan
2 comments

Fisa de lucru

#include<iostream>
using namespace std;
int main()
{int i,n,m,j,a[100],*p,*q,aux;
cout<<"Lungimea sirului=";
cin>>n;
cout<<"citire"<<endl;
p=a;
for(i=0;i<n;i++,p++)
    cin>>*p;
p=a;
cout<<"afisare"<<endl;
for(i=0;i<n;i++,p++)
    cout<<*p<<endl;
cout<<"Media aritmetica"<<endl;
p=a+1;
for(i=1;i<n-1;i++,p++)
    if((float)(*(p-1)+*(p+1))/2==*p)
        cout<<*p<<";";
cout<<endl;
cout<<"Inversarea"<<endl;
p=a;
q=a+n-1;
while(p<q)
{aux=*p;
*p=*q;
*q=aux;
p++;q--;}

p=a;
for(i=0;i<n;i++,p++)
    cout<<*p<<";";

}


#include<iostream>
using namespace std;
int main()
{int x[10]={0},i=0,j,k,m,n,p=0,r,b,c;
char a[100];
cin.get(a,100);
n=strlen(a);


if(isalpha(a[0]))
    a[0]=toupper(a[0]);
for(i=0;i<n-1;i++)
    if(a[i]==' ' && isalpha(a[i+1]))
        a[i+1]=toupper(a[i+1]);
cout<<endl<<a<<endl<<endl;
}



#include<iostream>
using namespace std;
int main()
{int n,i,r=0;
char a[100],*p;
cin.get(a,100);
n=strlen(a);
cout<<"Vocale perechi"<<endl;
for(p=a+1;*p;p++)
    if(strchr("aeiouAEIOU",*p) && strchr("aeiouAEIOU",*(p-1)))
        cout<<*(p-1)<<";"<<*p<<endl;

cout<<"Caractere egale"<<endl;
for(p=a;*p;p++)
    if(*p==*(p+1))
        cout<<*p<<";"<<*(p+1)<<endl;
p=a;
if(isalpha(*p) || isdigit(*p))
    r=1;
for(p=a;*p;p++)
    if(*p==' ' && (isdigit(*(p+1)) || isalpha(*(p+1))) )
        r++;
cout<<endl<<"Sunt "<<r<<" cuvinte in sir"<<endl;
}

by DlMuresan
Leave a comment

Cifrul lui Cezar(criptarea şi decriptarea unui cuvânt)

#include<iostream>
using namespace std;
int main()
{char s[100],*p;
int n;
cin.get(s,100);
cin>>n;
strupr(s);
for(p=s;*p;p++)
    if(isalpha(*p))
        *p=(*p-'A'+n)%26+'A';

cout<<s<<endl;

for(p=s;*p;p++)
    if(isalpha(*p))
        *p=(*p-'A'+26-n)%26+'A';

cout<<s;
}

marți, 26 octombrie 2010 by Boss
Categories: , , , | 2 comments

Numere Juxtapone

luni, 25 octombrie 2010 by DlMuresan
Categories: | Leave a comment

Mecatronica - 25 octombrie

#include<avr/io.h>
#include<util/delay.h>
#include<compat/deprecated.h>
int main(void)
{
DDRC=0xFF;
PORTC=0xFF;

}

...........

#include<avr/io.h>
#include<util/delay.h>
#include<compat/deprecated.h>
int main(void)
{DDRC=0xFF;

while(1)
{PORTC=0xFF;
_delay_ms(100);
PORTC=0x00;
_delay_ms(500);
PORTC=0x92;
_delay_ms(1000);
}
}

.......

#include<avr/io.h>
#include<util/delay.h>
#include<compat/deprecated.h>
int main(void)
{DDRC=0xFF;

while(1)
{PORTC=0xFF;
_delay_ms(100);
PORTC=0x00;
_delay_ms(100);
PORTC=0x92;
_delay_ms(100);
PORTC=0x25;
_delay_ms(100);
PORTC=0x48;
_delay_ms(100);
}
}

......

Sa aprind pa rand si apoi sa stang pe rand
#include<avr/io.h>
#include<util/delay.h>
#include<compat/deprecated.h>
int main(void)
{int i;
DDRC=0xFF;

while(1)
{

for(i=0;i<8;i++)
{
sbi(PORTC,i);
_delay_ms(100);
}

for(i=7;i>=0;i--)
{cbi(PORTC,i);
_delay_ms(100);
}

}

}

.....

#include<avr/io.h>
#include<util/delay.h>
#include<compat/deprecated.h>
int main(void)
{int i;
DDRC=0xFF;
PORTC=0x06;
PORTA=0x10;

}

....

Pentru 2

#include<avr/io.h>
#include<util/delay.h>
#include<compat/deprecated.h>
int main(void)
{int i;
DDRC=0xFF;
DDRA=0xF0;

PORTC=0x5B;
PORTA=0x10;

}

....

Cronometru
#include <avr/io.h>
#include <util/delay.h>
#include <compat/deprecated.h>
int main(void)
{int i;
DDRC=0xFF;
DDRA=0xF0;
PORTA=0x10;

while(1)
{
PORTC=0x3F;
_delay_ms(1000);
PORTC=0x06;
_delay_ms(1000);
PORTC=0x5b;
_delay_ms(1000);
PORTC=0x4F;
_delay_ms(1000);
PORTC=0x66;
_delay_ms(1000);
PORTC=0x6D;
_delay_ms(1000);
PORTC=0x7D;
_delay_ms(1000);
PORTC=0x07;
_delay_ms(1000);
PORTC=0x7F;
_delay_ms(1000);
PORTC=0x6F;
_delay_ms(1000);
}

}

....

#include <avr/io.h>
#include <util/delay.h>
#include <compat/deprecated.h>
int main(void)
{char i;

DDRC=0xFF;
DDRA=0xF0;
PORTA=0xF0;
char a[10]={0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

while(1)
{
for(i=9;i>=0;i--)
{PORTC=a[i];
_delay_ms(500);
}

}

}

......

#include <avr/io.h>
#include <util/delay.h>
#include <compat/deprecated.h>
int main(void)
{char i;
DDRC=0xFF;
DDRA=0xF0;
char a[10]={0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

while(1)
{
PORTA=0x10;
PORTC=a[1];
_delay_ms(1);
PORTC=0x00;

PORTA=0x20;
PORTC=a[2];
_delay_ms(1);
PORTC=0x00;


}

}

...

by DlMuresan
Categories: | Leave a comment

Tema 25 octombrie

 1. Se citeste o adresa de E-Mail( ex. Gansca_Sorinacio@Gmail.com). Sa se afiseze pe linii diferite id-ul si serverul ( Gansca_Sorinacio /n Gmail.com // Fara @ )

#include <iostream>
using namespace std;
int main()
{char a[100],*p,max[100],min[100];
int c=0,j,i,n,lmax=0,lmin=100;
cin.get (a,100);
cout<<endl;
n=strlen(a);
i=0;
while(a[i]!='@')
    {cout<<a[i];
    i++;}
    i++;
cout<<endl;
while(a[i])
    {cout<<a[i];
    i++;}
}
2. Se citesc 2 adrese de mail, sa se verifice daca id-urile sunt pe acelasi server.
#include <iostream>
using namespace std;
int main()
{char a[100],b[100],*p,c[100],d[100];
int j,i,m,n;
cin.get(a,100);
cin.get();
cin.get(b,100);
n=strlen(a);
m=strlen(b);
i=n-1;
j=0;
while(a[i]!='@')
    {c[j]=a[i];
    j++;
    i--;}
i=m-1;  
j=0;
while(b[i]!='@')
    {d[j]=a[i];
    j++;
    i--;}

if(strcmp(c,d))
    cout<<"Acelasi server";
else cout<<"Nu";

}

vineri, 22 octombrie 2010 by DlMuresan
Categories: , , , | Leave a comment

Probleme 22 octombrie

Sa se afiseze vocalele dintr-un cuvant

#include<iostream>
using namespace std;
int main()
{char a[100],*p;
cin.get(a,100);
for(p=a;*p;p++)
    if(strchr("AaEeIiOoUu",*p))
        cout<<*p<<" ";
}
 camelia_profesor@yahoo.com

Se citeste o prop de cel mult 100 de caractere
a) sa se afiseze toate cuvintele din propozitie, cate unul pe fiecare rand si lungimea fiecăruia
b) sa se afiseze cel mai lung si cel mai scurt cuvant
c) sa se elimine cifrele
#include <iostream>
using namespace std;
int main()
{char a[100],*p,max[100],min[100];
int c=0,j,i,n,lmax=0,lmin=100;
cin.get (a,100);
n=strlen(a);
for (i=0;i<=n;i++)
{if (isalpha(a[i]))
    {c++;cout<<a[i];}
else
    if(isalpha(a[i-1]))
        {cout<<" "<<c<<endl;
            if (c>lmax) {lmax=c;
                        strncpy (max,a+i-c,c);
                        max[c]=0;
                        }
            else if (c<lmin){lmin=c;
                             strncpy(min,a+i-c,c);
                             min[c]=0;
                             }
    c=0;}
}
cout<<endl;
cout<<"Max:"<<" "<<max<<" "<<lmax<<endl;
cout<<"Min:"<<" "<<min<<" "<<lmin<<endl;

for(p=a;*p;)
    if(isdigit(*p))
        strcpy(p,p+1);
    else p++;
cout<<endl<<a;

}

joi, 21 octombrie 2010 by DlMuresan
Categories: , , , | Leave a comment

Atmosfera din pauză - limbaj argotic (Vanea)

O oră cam nepotrivită pentru a avea o bucată de răbdare; Bufnea, foarte şmenar, învăţa la relax. La discrepanţă a venit şi într-un mod fortuit, accidental şi subit domnul colaborator Tudor Gânscă îi arde una după ceafă, misoginul Bufnea crezând că am fost eu. A venit la mine încercând să mă lovească, dar eu i-am arătat cobra şi într-un final i-am feştelit una peste muieriţă.

miercuri, 20 octombrie 2010 by DlMuresan
Categories: | Leave a comment

Probleme 20 octombrie - anagramă

Se citesc de la tastatură două cuvinte. Să se verifice dacă unul este anagrama celuilalt.
1) se ordonează literele după codul ASCII, iar apoi se compara sirurile

#include<iostream>
using namespace std;
int main()
{int n,nn,i;
char aux,a[100],b[100],*p,*q,m[1][100];
for(i=0;i<2;i++)
    cin>>m[i];
strcpy(a,m[0]);
strcpy(b,m[1]);

for(p=a;*p;p++)
    for(q=a+1;*q;q++)
        if(*p>*q)
            {aux=*p;
            *p=*q;
            *q=aux;}
                       
for(p=b;*p;p++)
    for(q=b+1;*q;q++)
        if(*p>*q)
            {aux=*p;
            *p=*q;
            *q=aux;}
           
if(strcmp(a,b)==0)
    cout<<"DA";
else cout<<"NU";

}
2) se inregistrează frecvenţa fiecărei litere în doi vectori de tip întreg, iar mai apoi se "compară" vectorii
#include<iostream>
using namespace std;
int main()
{char a[100],b[100],*p;
int i,ok=1,x[26]={0},y[26]={0};
cin.get(a,100);
cin.get();
cin.get(b,100);

strupr(a);
strupr(b);

for(p=a;*p;p++)
    x[*p-'A']++;

for(p=b;*p;p++)
    y[*p-'A']++;

for(i=0;i<26;i++)
    if(x[i]!=y[i])
        ok=0;
   
if(ok==1)
    cout<<"DA";
else cout<<"NU";

}
3) se şterg, pe rând, literele din primul cuvânt şi(dacă există) din al doilea până când primul tablou(cuvânt) are terminatorul de şir pe poziţia 0. Dacă şirul al doilea are şi el terminatorul de şir pe poziţia 0, atunci cuvintele sunt anagrame. Altfel, nu sunt.
#include<iostream>
using namespace std;
int main()
{char a[100],b[100],*p,*q,r;
int i,ok=1,x[26]={0},y[26]={0},t,j;
cin.get(a,100);
cin.get();
cin.get(b,100);
strupr(a);
strupr(b);
p=a;

while(a[0]!=NULL)
{for(i=0;i<strlen(a);i++)
{    r=a[i];
    for(j=i;j<strlen(a);j++)
        a[j]=a[j+1];
   
for(t=0;t<strlen(b);t++)
{    if(b[t]==r)
        for(j=t;j<strlen(b);j++)
            b[j]=b[j+1];
    }
}
}

if(b[0]==0)
    cout<<"DA";
else cout<<"NU";

}

marți, 19 octombrie 2010 by DlMuresan
Categories: , , , , , | 1 comment

Temă 18 octombrie

Se citeşte un şir de caractere. 
a) să se numere cuvintele din şir
b) să se transforme fiecare literă de la începutul unui cuvânt în literă mare
c) să se afişeze frecvenţa tuturor cifrelor din text
d) să se înlocuiască fiecare cifră din text cu corespondentul ei în litere
ex: ana are   52 de mere  si 980 de   pere
a) 9 cuvinte
b) Ana Are   52 De Mere  Si 980 De   Pere
c) 0 apare de 0 ori, 1 apare de 0 ori, 2 apare de 1 ori, ..., 5 apare de 1 ori, ...
d) ana are   cincidoi de mere  si nouaoptzero de   pere

 #include<iostream>
using namespace std;
int main()
{int x[10]={0},i=0,j,k,m,n,p=0,r,b,c;
char a[100];
cin.get(a,100);
n=strlen(a);
if(isalpha(a[0]) || isdigit(a[0]))
    p=1;
for(i=1;i<n;i++)
    if(a[i]==' ' && a[i+1]!=' ')
        p++;
cout<<endl<<"Sunt "<<p<<" cuvinte in sir"<<endl;

if(isalpha(a[0]))
    a[0]=toupper(a[0]);
for(i=0;i<n-1;i++)
    if(a[i]==' ' && isalpha(a[i+1]))
        a[i+1]=toupper(a[i+1]);
cout<<endl<<a<<endl<<endl;

for(i=0;i<n;i++)
    if(isdigit(a[i]))
        {p=a[i]-'0';x[p]++;}
  
for(i=0;i<10;i++)
    cout<<"cifra "<<i<<" apare de "<<x[i]<<" ori"<<endl;
cout<<endl<<endl;


}

by DlMuresan
Categories: , , , | Leave a comment

Mecatronica - 17 octombrie

Becuri verzi

#include<avr/io.h>
void main()
{
DDRC=0xFF;
PRTC=0x25;


}
Becurile se sting si se apring
#include<avr/io.h>
#include<util/delays.h>
void main()
{
DDRC=0xFF;
while(1)
{
PORTC=0xFF;
_DELAY_MS(500);
PORTC=0x00;
_DELAY_MS(500);
}


}
#include<avr/io.h>
#include<util/delays.h>
#include<compat/deprecated.h>
void main()
{
DDRC=0xFF;
while(1)
{
for(int i=0;i<8;i++)
{
sbi(portc,i);
_delay_ms(200);
cbi(portc,i);
}
for(int i=7;i>=0;i--)
{
sbi(portc,i);
_delay_ms(10);
cbi(portc,i);
}
}

}

by DlMuresan
Categories: | Leave a comment

Problema inlocuire cifre cu litere

Să se înlocuiască toate cifrele dintr-un şir de caractere cu corespondentul lor în litere.

#include<iostream>
using namespace std;
int main()
{int x[10]={0},i=0,j,k,m,n,r=0,b,c;
char ch,aux[1000],a[1000],*p, cuv[10][1000]={"zero","unu","doi","trei","patru","cinci","sase","sapte","opt","noua"};
cin.get(a,100);
for(p=a;*p;)
    if (isdigit(*p)) {   aux[0]=NULL;   //sterg auxiliarul
                         ch=*p;         //cifra de inlocuit
                         strcpy(p,p+1);    //sterg cifra din sirul a
                         strncat(aux,a,p-a);   
                         strcat(aux,cuv[ch-'0']);
                         strcat(aux,p);
                         strcpy(a,aux);
       
                        }
       else p++;
 cout<<a<<endl;
    
    }

luni, 18 octombrie 2010 by DlMuresan
Categories: , , , | Leave a comment

Problema 15 octombrie

#include<iostream>
using namespace std;
int main()
{
    char s[100],*p;
    int i,j,k,x[10]={0},c[100]={0};
    j=0;
    cin.get(s,100);
    if(isalpha(a[0])  || isdigit(a[0]))
        i=1;
    for(p=s;*p!=0;p++)
    {
        if(isdigit(*p))
        {
            x[j]=*p-'0';
            if(isdigit(*p-1))
            {
            x[j]=x[j]*10+(*p-'0');
            }
            else j++;
        }
    }
    i=0;
    for(i=0;i<j;i++)
    {
        k=x[i];
        while(k>0)
            {k=k/10;
            c[i]++;
            }
    }
    for(i=0;i<j;i++)
        if(c[i]<=1)
            switch
       

joi, 14 octombrie 2010 by DlMuresan
Categories: , , , | Leave a comment

Probleme pointeri - 13 octombrie

1) Se dă un tablou de n numere întregi
a) să se citească elementele tabloului folosind pointeri
b) să se afişeze elementele tabloului folosind pointeri
c) să se afişeze elementele care sunt egale cu media aritmetică a vecinilor
d) să se inverseze elementele tabloului folosind pointeri

#include<iostream>
using namespace std;
int main()
{int aux,a[100],*p,n,i,*q,k,j;
cout<<"n=";cin>>n;
p=a;
for(i=0;i<n;i++,p++)
    cin>>*p;
p=a;
cout<<endl;

for(i=0;i<n;i++,p++)
    cout<<*p<<endl;
p=a+1;
cout<<endl;

for(i=1;i<n-1;i++,p++)
    if( (float)( *(p-1)+*(p+1) )/2==*p)
        cout<<*p<<" este egal cu media aritmetica dintre "<<*(p-1)<<" si "<<*(p+1)<<endl;

if(n%2==0)  
    {p=a+n/2-1;
    q=a+n/2;}
else {p=a+n/2-1;
      q=a+n/2+1;}
cout<<endl;

for(i=0;i<n/2;i++)
{aux=*p;
*p=*q;
*q=aux;
p--;
q++;}

p=a;
for(i=0;i<n;i++,p++)
    cout<<*p<<endl;
}

marți, 12 octombrie 2010 by DlMuresan
Categories: , , , | 1 comment

Test

http://www.savefile.ro/5ayiqal2nxfl/Test_clasa_X.txt.htm

Primul rand:

1. Se citeste un sir de caractere.Sa se verifice daca poate repr o serie si un nr de buletin.
Ex: KX525025(8caractere,2 caractere-litere mari, restul cifre)

#include<iostream>
using namespace std;
int main()
{int ok=1,n,i;
char a[100];
cout<<"Sirul de caractere:"<<endl;
cin.get(a,100);
n=strlen(a);

if(n!=8)ok=0;

for(i=0;i<2;i++)
    if(isdigit(a[i]))
        ok=0;
    else if(islower(a[i]))
        ok=0;

   
for(i=2;i<n;i++)
    if(isalpha(a[i]))
        ok=0;
   
if(ok==1)
    cout<<"Sirul poate fi o serie si un numar de buletin";
else cout<<"Nu";

}


2.Se citeste un sir ce contine un test codificat, in care unele litere se repeta succesiv.
Sa se "simplifice" sirul inlocuind fiecare succesiune de litere egale, cu litera respectiva.
 AAAVVVVVVIOOOOOOONNN devine AVION

#include<iostream>
using namespace std;
int main()
{int j=0,ok=1,n,i;
char a[100],b[100];
cout<<"Sirul de caractere:"<<endl;
cin.get(a,100);
n=strlen(a);

b[j]=a[0];
j++;

for(i=1;i<n;i++)
    if(a[i]!=a[i-1])
        {b[j]=a[i];j++;}
       
b[j]=0;

cout<<b;

}


Al 2lea rand ( incomplet )

1.Sa se verifice daca un sir de caractere poate reprezenta un CNP,

Randul 2 are doar o sg problema doar ca celelalte cerinte la problema cu CNP sunt
necunoscute

#include<iostream>
using namespace std;
int main()
{int j=0,ok=1,n,i;
char a[100],b[100];
cout<<"Sirul de caractere:"<<endl;
cin.get(a,100);
n=strlen(a);

if(n!=13)
    ok=0;

for(i=0;i<n;i++)
    if(isdigit(a[i]))
        j++;  // asta e fortuita, poate fi orice instructiune care nu atribuie ceva lui ok; adica daca a[i] e digit(numar) se intampla ceva, orice; doar daca nu e numar ok va primi 0
    else ok=0;

if(ok==1)
    cout<<"Sirul poate fi un CNP";
else cout<<"Nu";

}

duminică, 10 octombrie 2010 by DlMuresan
Categories: , , , , , | Leave a comment

Orar - versiunea 1.3

Modificări(versiunea 1.2)
- Dirigenţia s-a mutat miercuri de la ora 14
- Geografia s-a mutat joi de la 14
- ordinea primelor 3 ore de miercuri: de la Info-Info-Română la Info-Română-Română
- sala orei de Română de miercuri va fi 29 şi nu 21



joi, 7 octombrie 2010 by DlMuresan
Categories: , | 2 comments

Probleme 7 octombrie

1) Scrieţi un progra care citeşte de la tastatură un cuvânt de maximum 20 de litere şi îl codifică: fiecare literă o înlocuieşte cu cea care urmează după aceasta în alfabet, iar pe 'a' în codifică în 'z'.

#include<iostream>
using namespace std;
int main()
{char a[100];
int i;

cin.get(a,20);
for(i=0;i<strlen(a);i++)
{if(a[i]=='a')a[i]='z';
else a[i]=a[i]+1;
}
cout<<endl;
cout<<a;
}
2) Să se interschimbe primul şi ultimul caracter al şirului s citit de la tastatură. Şirul poate conţine şi spaţii, pe orice poziţie.
#include<iostream>
using namespace std;
int main()
{char a[100];
int i;
cin.get(a,100);

i=a[0];
a[0]=a[strlen(a)-1];
a[strlen(a)-1]=i;

cout<<a;
}
3) Se dă un şir de caractere, litere mici ale aflabetului englez şi cifre. Primul caracter din şir e literă. Fiecare literă e urmată de o cifră nenulă. Să se construiască un nou şir, care să conţină fiecare literă din şirul iniţial repetată de atâtea ori câte o indică cifra de după ea. Ex: a1b1r2 -> abrr
#include<iostream>
using namespace std;
int main()
{char b[100],a[100];
int i,j=0,p;
cin.get(a,100);

for(i=0;i<strlen(a);i=i+2)
{b[j]=a[i];
j++;
p=a[i+1]-'0';
while(p>1)
{b[j]=a[i];j++;p--;}
}
b[j]=0;
cout<<b;
}
4) Citim de la tastatură n prenume(n<=10). Un prenume conţine cel mult 12 caractere. Să se ordoneze alfabetic.

5) Să se afişeze sufixele şi prefixele unui cuvânt.

#include<iostream>
using namespace std;
int main()
{char a[100];
int i,j,n;
cin>>a;

for(i=0;i<strlen(a);i++)
    {
    for(j=0;j<=i;j++)
        cout<<a[j];
    cout<<endl;
    }

cout<<"--------"<<endl;

i=0;
for(n=strlen(a)-1;n>=0;n--)
    {
    for(j=i;j<strlen(a);j++)
        cout<<a[j];
    i++;
    cout<<endl;
    }

}
6) Se citeşte un şir format din unul sau mai multe caractere, care conţine numele unei persoane urmat de unul sau mai multe spaţii şi prenumele acesteia.
a) să se formeze un alt şir ce conţine prenumele, exact un spaţiu şi numele.
b) să se formeze un alt şir ce conţine iniţiala prenumelui, caracterul '.', un spaţiu şi numele
#include<iostream>
using namespace std;
int main()
{char a[100],v[100]="aeiouAEIOU",b[100],c[100];
int i,p,n,j=0,k=0;
cin.get(a,100);
n=strlen(a);
cout<<"Punctul a)"<<endl;
for(i=0;i<n;i++)
    if(a[i]==' ')p=i;

for(i=p+1;i<n;i++)
    {b[j]=a[i];j++;}

b[j]=' ';j++;

for(i=0;i<n;i++)
    {if(a[i]!=' ')
        {b[j]=a[i];
        j++;}
    if(a[i]==' ')break;}
b[j]=0;
cout<<b;

cout<<endl<<"Punctul b)"<<endl;
for(i=0;i<n;i++)
    if(a[i]==' ')p=i;

c[k]=a[p+1];k++;
c[k]='.';k++;
c[k]=' ';k++;
for(i=0;i<n;i++)
    {if(a[i]!=' ')
        {c[k]=a[i];
        k++;}
    if(a[i]==' ')break;}
c[k]=0;
   
cout<<c;

}
7) Se citeşte un cuvânt care conţine cel puţin 2 vocale. Să se elimine din el prima şi ultima vocală.
#include<iostream>
using namespace std;
int main()
{char a[100],v[100]="aeiouAEIOU";
int i,p,n;
cin.get(a,100);
n=strlen(a);

for(i=0;i<n;i++)
    if(strchr(v,a[i])){p=i;break;}
   
for(i=p;i<n;i++)
    a[i]=a[i+1];

for(i=0;i<n-1;i++)
    if(strchr(v,a[i]))p=i;

for(i=p;i<n-1;i++)
    a[i]=a[i+1];

cout<<a;
}
8) Se citeşte un şir de caractere. Să se afişeze perechile de caractere alăturare care sunt ambele vocale sau egale.
#include<iostream>
using namespace std;
int main()
{ char a[100];
int i,p=0;
cin.get(a,100);

if(isalpha(a[0]))
    p=1;
else p=0;

cout<<"Perechi de vocale"<<endl;
for(i=0;i<strlen(a);i++)
    if(strchr("aeiouAEIOU",a[i]) && strchr("aeiouAEIOU",a[i+1]))
        cout<<a[i]<<";"<<a[i+1]<<endl;
   
    cout<<endl;
   
cout<<"Perechi de caractere egale"<<endl;   
for(i=0;i<strlen(a);i++)
    if(a[i]==a[i+1])
        cout<<a[i]<<";"<<a[i+1]<<endl;

    cout<<endl;
   
cout<<"Numarul de cuvinte"<<endl;
for(i=0;i<strlen(a);i++)
    if(a[i]==' ' && isalpha(a[i+1]))
        p++;
   
cout<<p;
   
}

by DlMuresan
Categories: , , , , | Leave a comment

Română

Descărcaţi arhiva cu cele 18 poze(40,9 MB):
LINK 1
sau

Sau vizualizaţi pozele direct de aici(click stânga)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

luni, 4 octombrie 2010 by DlMuresan
Categories: , | Leave a comment

C++ Help

http://www.unixinside.org/papers/C++-Book/cap5.html

by DlMuresan
Categories: , , | Leave a comment

Problema Bacalaureat

Se citeste un cuvant format din 20 de caractere, doar litere mici. Sa se transforme cuvantul prin inlocuirea fiecarei vocale cu un sir format din 2 caractere: vocala respectiva, urmata de litera mare corespunzatoare.

#include<iostream>
using namespace std;
int main()
{char x[100],a[100],b[100];
int i,j=0,n;
cout<<"Cuvantul: ";
cin>>a;

for(i=0;i<strlen(a);i++)
{    b[j]=a[i];j++;
if(strchr("aeiou",a[i]))
    {b[j]=toupper(a[i]);j++;}
}
b[j]=0;

cout<<b;   

}

by DlMuresan
Categories: , , | Leave a comment

Probleme 4 octombrie

1) Citim de la tastatura un text format din cuvinte separate de unul sau mai multe spatii. Sa se transforme prima litera din fiecare cuvant in litera mare.

#include<iostream>
using namespace std;
int main()
{char a[100];
int i;
cin.get(a,100);
if(isalpha(a[0]))
    a[0]=toupper(a[0]);

for(i=1;i<strlen(a);i++)
    if(a[i-1]==' ' && isalpha(a[i]))
        a[i]=toupper(a[i]);
   
cout<<a;
}
2) Se citeste de la tastatura un sir de caractere: a) sa se afiseze perechile de caractere alaturate care sunt ambele vocale; b) sa se afiseze perechile de caractere alaturate care sunt ambele egale; c) sa se numere cuvintele din sir.
#include<iostream>
using namespace std;
int main()
{ char a[100];
int i,p=0;
cin.get(a,100);

if(isalpha(a[0]))
    p=1;
else p=0;

cout<<"Perechi de vocale"<<endl;
for(i=0;i<strlen(a);i++)
    if(strchr("aeiouAEIOU",a[i]) && strchr("aeiouAEIOU",a[i+1]))
        cout<<a[i]<<";"<<a[i+1]<<endl;
   
    cout<<endl;
   
cout<<"Perechi de caractere egale"<<endl;   
for(i=0;i<strlen(a);i++)
    if(a[i]==a[i+1])
        cout<<a[i]<<";"<<a[i+1]<<endl;

    cout<<endl;
   
cout<<"Numarul de cuvinte"<<endl;
for(i=0;i<strlen(a);i++)
    if(a[i]==' ' && isalpha(a[i+1]))
        p++;
   
cout<<p;
   
}
   

by DlMuresan
Categories: , | Leave a comment