You are on page 1of 9

//tiparirea in biti a unui numar hexa

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
unsigned int x,m;
int k,i;
int main(){
printf("x=");
scanf("%x",&x);
m=1;
k=0;
for(i=31;i>=0;i--){
if((x>>i)&m)
printf("1");
else
printf("0");
if(i%4==0)
printf(" ");}
printf("\n");
system("pause");
return 0;}
//se da un caracter. Determinati daca este cifra, majuscula, minuscula sau operator aritmetic.
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
char x;
int main(){
printf("Dati caracterul: ");
scanf("%c",&x);
switch(x){
case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8':case'9':printf("\nEste
cifra\n");break;
case'+':case'-':case'*':case'%':case'/':printf("\nEste operator aritmetic\n");break;
default: if(x>='A'&&x<='Z'){
printf("\nEste majuscula\n");
break;}
else
if(x>='a'&&x<='z'){
printf("\nEste minuscula\n");
break;}
else {
printf("\nEste alt caracter\n");
break; }}
system("PAUSE");}

//se introduce o data curenta si o data de nastere. Determinati varsta persoanei.


#include<stdio.h>
#include<stdlib.h>
int x,zc,lc,ac,zn,ln,an;
int main(){
printf("Dati data curenta de forma zi/luna/an: ");
scanf("%d/%d/%d",&zc,&lc,&ac);
printf("\nDati data nasterii de forma zi/luna/an : ");
scanf("%d/%d/%d",&zn,&ln,&an);
x=ac-an;
if(lc<ln)
x=x-1;
else
if(lc==ln&&zc<zn)
x=x-1;
printf("\nVarsta este de %d ani\n",x);
system("PAUSE");
return 0;}
//Se da un vector de n numere intregi. Stergeti toate elementele impare si inserati 1 dupa fiecare
element egal cu 0.
#include<stdio.h>
#include<stdlib.h>
int n,s[20],s2[20];
void citire(int s[],int n){
int i;
for(i=0;i<n;i++){
printf("s[%d]= ",i);
scanf("%d",&s[i]);
s2[i]=s[i];}}
void afisare(int n,int a[]){
int i;
for(i=0;i<n;i++)
printf("%d ",a[i]);}
void eliminare(int n, int a[]){
int i,j;
for(i=0;i<n;)
if(a[i]%2==1){
for(j=i;j<n-1;j++)
a[j]=a[j+1];
n--;}
else
i++;

printf("\nSirul eliminat: ");


afisare(n,a);}
void inserare(int n, int a[]){
int i,j;
for(i=0;i<n;i++)
if(a[i]==0){
n++;
for(j=n-2;j>i;j--)
a[j+1]=a[j];
a[i+1]=1;}
printf("\nSirul inserat: ");
afisare(n,a);}
int main(){
printf("n=");
scanf("%d",&n);
citire(s,n);
eliminare(n,s);
inserare(n,s2);
system("pause");}
//Se da o operatie de forma x/operator/y. Faceti operatia. (ex: 4/+/7 => 4+7=11)
#include<stdio.h>
#include<stdlib.h>
int a,b,r,corect;
char op;
int main(){
printf("Dati operatia de forma nr/operator/nr:\n");
scanf("%d/%c/%d",&a,&op,&b);
corect=1;
switch(op){
case '+':r=a+b; break;
case '-':r=a-b; break;
case '*':r=a*b; break;
case '%':r=a%b; break;
case '/':if(b!=0)
r=a/b;
else
printf("Impartire imposibila\n");
break;
default:corect=0;printf("Operatorul nu este corect\n");}
if(corect)
printf("%d %c %d = %d\n",a,op,b,r);
system("PAUSE");
return 0;}

//Se da un numar. Descompuneti-l in factori primi.


#include<stdlib.h>
#include<stdio.h>
int n,i,j,k;
int main(){
printf("n= ");
scanf("%d",&n);
for(i=2;n>1;i++)
for(j=0;n%i==0;j++,n=n/i){
k++;
if(k>1)
printf("* ");
printf("%d ",i);}
printf("\n");
system("PAUSE");}
//Se citeste un sir de n numere intregi. Sa se verifice daca este sortat si daca nu, sa se sorteze.
#include<stdio.h>
#include<stdlib.h>
void citire(int s[],int n){
int i;
for(i=0;i<n;i++){
printf("s[%d]= ",i);
scanf("%d",&s[i]);}}
void sortare(int s[],int n){
int i,j,aux;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(s[i]>s[j]){
aux=s[i];
s[i]=s[j];
s[j]=aux;}}
int verificare(int s[],int n){
int i,j;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(s[i]>s[j])
return 0;
return 1;}
void afisare(int s[],int n){
int i;
printf("Sirul a fost sortat: ");
for(i=0;i<n;i++)
printf("%d ",s[i]);
printf("\n");}

int main(){
int n,s[20];
printf("n=");
scanf("%d",&n);
citire(s,n);
if(verificare(s,n))
printf("Sirul este sortat\n");
else{
sortare(s,n);
afisare(s,n);}
system("pause");}
//Se dau 2 siruri de m, respectiv n numere intregi sortate crescator. Sa se combine cele 2 siruri intr-un
singur sir sortat crescator.
#include<stdio.h>
#include<stdlib.h>
int k=0,a[20],b[20],c[40],m,n;
void citire(int s[],int n){
int i;
for(i=0;i<n;i++){
printf("s[%d]= ",i);
scanf("%d",&s[i]);}}
void afisare(int s[],int n){
int i;
for(i=0;i<n;i++)
printf("%d ",s[i]);
printf("\n");}
void interclasare(){
int i=0,j=0,x;
while(i<m&&j<n)
if(a[i]<b[j])
c[k++]=a[i++];
else
c[k++]=b[j++];
for(x=i;x<m;x++)
c[k++]=a[i++];
for(x=j;x<n;x++)
c[k++]=b[j++];}
int main(){
printf("m=");
scanf("%d",&m);
printf("n=");
scanf("%d",&n);

citire(a,m);
citire(b,n);
printf("Sirul a: ");
afisare(a,m);
printf("\nSirul b: ");
afisare(b,n);
interclasare();
printf("\nSirul interclasat: ");
afisare(c,k);
system("pause");}
//Se da un sir de n numere intregi alocate dinamic. Sortati crescator sirul.
#include<stdio.h>
#include<stdlib.h>
int *s,i,j,n,aux;
int main(){
printf("n=");
scanf("%d",&n);
s=(int *)malloc(n*sizeof(int));
for(i=0;i<n;i++){
printf("s[%d]=",i);
scanf("%d",&*(s+i));
}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(*(s+i)>*(s+j)){
aux=*(s+i);
*(s+i)=*(s+j);
*(s+j)=aux;}
for(i=0;i<n;i++)
printf("%d ",*(s+i));
printf("\n");
system("pause");}
//Se da o matrice M x N numere intregi. Numarati cate elemente au toti vecinii numere pare (vecinul
de deasupra, de sub, din stanga si dreapta).
#include<stdio.h>
#include<stdlib.h>
int m,n,k,i,j,a[20][20];
int main(){
printf("m=");
scanf("%d",&m);
printf("n=");
scanf("%d",&n);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++){
printf("a[%d][%d]=",i,j);
scanf("%d",&a[i][j]);}

for(i=1;i<=m;i++){
for(j=1;j<=n;j++)
printf("%4d ",a[i][j]);
printf("\n");}
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
if(!(a[i][j-1]%2||a[i][j+1]%2||a[i-1][j]%2||a[i+1][j]%2))
k++;
printf("Sunt %d elemente cu toti vecinii numere pare\n",k);
system("pause");}
//Se dau 2 numere intregi. Comparati-le folosind "if"-ul ala special din C.
#include<stdio.h>
#include<stdlib.h>
int a,b;
char op;
int main(){
printf("Dati cele 2 numere:\n");
scanf("%d %d",&a,&b);
op=a>b?'>':a<b?'<':'=';
printf("Rezultatul comparatiei este %d %c %d\n",a,op,b);
system("PAUSE");
return 0;}
//Se dau 3 numere intregi. Gasiti maximul dintre ele folosind "if"-ul specific C-ului.
#include<stdio.h>
#include<stdlib.h>
int a,b,c,max;
int main(){
printf("Dati cele 3 numere:\n");
scanf("%d %d %d",&a,&b,&c);
max=a>b?max=a>c?a:c:max=b>c?b:c;
printf("Maximul este egal cu %d\n",max);
system("PAUSE");
return 0;}
//Se introduc caractere pana la intalnirea caracterului '*'. Numarati vocalele.
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
char c;
int k;
int main(){
while((c=getchar())!='*')
switch(tolower(c)){
case'a':case'e':case'i':case'o':case'u':k++;}
printf("Sunt %d vocale\n",k); system("pause");}

//Se introduce o data de forma zi/luna. Calculati cate zile mai sunt pana la sfarsitul anului. (Anul nu e
bisect)
#include<stdio.h>
#include<stdlib.h>
int z,l;
int main(){
printf("Introduceti data de forma zi/luna: ");
scanf("%d/%d",&z,&l);
switch(l){
case 1: printf("Mai sunt %d zile pana la sfarsitul anului\n",365-z); break;
case 2: printf("Mai sunt %d zile pana la sfarsitul anului\n",334-z); break;
case 3: printf("Mai sunt %d zile pana la sfarsitul anului\n",306-z); break;
case 4: printf("Mai sunt %d zile pana la sfarsitul anului\n",275-z); break;
case 5: printf("Mai sunt %d zile pana la sfarsitul anului\n",245-z); break;
case 6: printf("Mai sunt %d zile pana la sfarsitul anului\n",214-z); break;
case 7: printf("Mai sunt %d zile pana la sfarsitul anului\n",184-z); break;
case 8: printf("Mai sunt %d zile pana la sfarsitul anului\n",153-z); break;
case 9: printf("Mai sunt %d zile pana la sfarsitul anului\n",122-z); break;
case 10: printf("Mai sunt %d zile pana la sfarsitul anului\n",92-z); break;
case 11: printf("Mai sunt %d zile pana la sfarsitul anului\n",62-z); break;
default: printf("Mai sunt %d zile pana la sfarsitul anului\n",31-z); break;}
system("PAUSE");}
//se da o propozitie sa se desparta in cuvinte
#include<iostream.h>
#include<string.h>
char s[250],sep[]=", :!?",*p;
void main (){
cin.getline(s,251);
p=strtok(s,sep);
while(p){
cout<<p<<endl;
p=strtok(NULL,sep);}}
-N poate fi descompus in suma de patrate
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int n,i,sw;
int main(){
printf("n= ");
scanf("%d",&n);
for(i=1;i<=n/2+1;i++)
if((sqrt(i)==(int)sqrt(i))&&(sqrt(n-i)==(int)sqrt(n-i))){
printf("%d = %d + %d\n",n,i,n-i);
sw=1;
break;}
if(sw==0)

printf("%d nu poate fi descompus in suma de patrate\n",n);


system("pause");}

You might also like