Documente Academic
Documente Profesional
Documente Cultură
Grupa 8107 B
PROBLEME PROGRAMARE
1. Programul afiseaza un mesaj simplu de salut
#include <stdio.h>
main()
#include <stdio.h>
printf("exemplu de program.\n");
#include<stdio.h>
}
4. Programul exemplifica utilizarea a unui sir de caractere
#include <stdio.h>
#define SIR
main ( )
scanf("%s", nume);
#include <stdio.h>
main()
"standard.\n"); i1=5;
printf ("p1 = %p, p2 = %p, valori tiparite cu specificatorul p\n", p1, p2);
printf ("p1 = %x, p2 = %x, valori tiparite cu specificatorul x\n", p1, p2); }
8. Programul calculeaza distanta dintre doua puncte din plan-
#include<stdio.h>
#include<math.h>
main()
} PUNCT;
PUNCT p1,p2;
scanf("%lf%lf",&p1.x,&p1.y);
scanf("%lf%lf",&p2.x,&p2.y);
difx=p1.x-p2.x;
dify=p1.y-p2.y;
sqrt(pow(difx,2)+pow(dify,2)));
#include <stdio.h>
main ( )
printf ( "Cati ani aveti ( ani , luni ) ? " ) ; /* se solicita varsta in ani si luni */
10. Programul care realizeaza conversia unui numar binar -> la intreg
#include <stdio.h>
main()
11. Programul determina daca un numar este pozitiv, negative sau zero
#include <stdio.h>
main()
{
int numar;
scanf("%d", &numar );
printf("Numarul este");
#include <stdio.h>
#include <conio.h>
void main ( )
printf (INTREB);
printf ("\nNumele tau are %d litere, dar s-au rezervat %d locatii "
getch();
}
13. Programul afiseaza un tablou de caractere
#include <stdio.h>
void main(void) {
int i;
printf("%c", salut[i]);
printf("\n");
#include <stdio.h>
void main(void) {
int i;
printf("%c", salut[i]);
printf("\n");
printf("%s!\n", salut);
}
15. Programul afiseaza intervalul intreg [k, k+1] in care se afla o valoare reala
#include <stdio.h>
main ()
limita1 = num ;
#include <stdio.h>
void main ( )
int i , n ;
printf("\n");
#include <stdio.h>
#include <conio.h>
main ( )
char car ;
clrscr();
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main(void)
{
int i, j;
clrscr();
gets (sir1);
sir[j] = sir1[i];
j++;
sir[j] = '\0';
#include<stdio.h>
main()
char *int_la_str_bin(int,char[]);
char strbin[1+8*sizeof(int)];
int numar;
numar, int_la_str_bin(numar,strbin));
int i;
ps[dim] = '\0';
return ( ps );
20. Programul determina cel mai mare divizor comun pentru doua numere
a,b pozitive
#include<stdio.h>
void main()
{
int a, b, rest;
while (b)
rest = a % b;
a = b;
b = rest;
21. Programul determina cel mai mare divizor comun pentru perechi
#include <stdio.h>
while ( b != 0 )
{ rest = a % b;
a = b;
b = rest; }
} void main ()
{ int cmmdc (int a, int b);
int x, y;
while ( ( x*y ) != 0 )
printf ("Cel mai mare divizor comun este :%d\n", cmmdc (x,y));
} }
#include <stdio.h>
#include <math.h>
void main()
{ double a, b, c, delta, real, imag; /* se defines a,b,c, delta, real si imag de tip
double */
printf ("b=");
printf ("c=");
if (a)
{
real = -b/2/a;
imag = sqrt(fabs(delta))/2/a;
if (delta >= 0) /* daca delta este mai mare sau egal ca 0 afiseaza
urmatoarea */
else
else
if(b)
else
#include<stdio.h>
void main()
while (val != 0)
nv++;
if (val > 0)
nvp++;
suma += val;
} /* while */
if(nvp>0)
else
#include<stdio.h>
void main()
fact = 1;
fact = fact * i;
if ( k % 2 )
fact = - fact;
sum += fact;
#include<stdio.h>
void main()
printf("\nProgramul calculeaza suma: -1! +2! -3! +4! -5! +. . . +(-)n. .\n");
printf ("n=");
fact = 1;
{ fact = - fact*k;
suma += fact; }
printf("Suma factorialelor este: %li\n", suma); }
26. Tipareste un numar intreg (de maxim 9-10 cifre) in ordie inversa
#include<stdio.h>
void main()
"inversa.\n");
scanf ("%li",&numar);
do
{ rest=numar%10;
printf("%d", rest);
numar/=10;
while (numar);
printf ("\n");
27. Tipareste un numar intreg (de maxim 9-10 cifre) in ordie inversa
#include<stdio.h>
void main()
"inversa.\n");
printf ("Introduceti un numar intreg:");
scanf ("%li",&numar);
do
rest=numar%10;
printf("%d", rest);
numar/=10;
while (numar);
printf ("\n"); }
#include <stdio.h>
#include <math.h>
void main()
int n,ni, p=1, nr_inmult=0; /* p=cea mai mica putere a lui 2 mai mare ca n*/
ni = n;
semn = n < 0;
n = abs ( n );
while ( p <= n )
p = p * 2;
do
{ p = p / 2;
y = y*y;
nr_inmult++;
if ( n >= p )
{ n = n - p;
y=y*x;
nr_inmult++;
} while ( p > 1 );
if ( semn )
y=1/y;
impachetare :
#include <stdio.h>
#include <conio.h>
void main(void)
int coef[10];
clrscr();
val = 0;
#include <stdio.h>
#define DIM 10
void main()
{
double x;
if (ca != lb)
else
a[i][j] = x;
printf("Matricea B:\n");
b[i][j] = x;
c[i][j] = 0;
}}}
#include <stdio.h>
#include <math.h>
void main ( )
prim [0] = 2;
prim [1] = 3;
index_prim = 1;
for (p = 5 ; p <= n ; p = p + 2)
{
este_prim = 1;
if (este_prim)
index_prim ++;
prim [ index_prim ] = p;
32. Programul realizeaza conversia unui numar intreg intr-o alta baza
#include <stdio.h>
#include <conio.h>
#define LUNG_MAX 32
void main ()
{ int numar, baza, ind1, ind2; /* se definesc variabilele baza, indice1 si indice 2
de tip intreg */
clrscr();
if ( numar < 0 )
{ printf ("-");
numar = - numar; }
ind1 = 0 ;
do
{ ind1 ++;
else
numar /= baza;
{ aux = cifra[ind2];
cifra[ind2] = cifra[ind1-ind2];
cifra[ind1-ind2] = aux; }
cifra[ind1] = '\0';
printf("\n");
# include <stdio.h>
main ( )
a = 5.0e+7 + 1.0 ;
b = 5.0e+7 - 1.0 ;
a = 5.0e+6 + 1.0 ;
b = 5.0e+6 - 1.0 ;
#include <stdio.h>
main( )
float salariu ;
35. Se realizeaza conversia unui numar intreg intr-o baza oarecare - 2..36
#include <stdio.h>
#define LUNG_MAX 32
void main ()
char cifra[LUNG_MAX];
indice = 0;
if ( numar < 0 )
{ printf("-");
numar = - numar; }
else
numar /= baza;
indice++;
} while(numar>0);
printf("%c", cifra[indice]);
printf("\n");
36. Program ce afiseaza (genereaza) numerele prime in intervalul [3,n];
#include<stdio.h>
void main()
div=3;
do
este_prim = i % div;
div += 2;
if (este_prim)
{ printf(",%9ld", i);
contor_np++; } }
void main()
long int n = 0;
do
n ++;
if (n % 100 == 0)
executa ciclic
#include <iostream.h>
void main(void)
int gata = 1;
char litera;
while (gata)
cout << "Programul citeste caractere, cat timp acestea sunt: d, D, n sau N."
<< endl;
cout << "Pentru orice alt caracter tastat programul se termina si "
cout << "Tasteaza D(d) sau N(n) si apoi Enter pentru a continua: ";
if ((litera != 'D') && (litera != 'd') && (litera != 'N') && (litera != 'n'))
gata = 0;
cout << "Carcaterul tastat a fost " << litera << endl;
#include <stdio.h>
void main ( )
char s[80];
char *ptrc;
int i;
if ( s[0] )
ptrc = &s[i+1];
printf ("%s\n",ptrc); /* sau puts (ptrc), tipareste sirul de dupa primul blanc */
else
#include <stdio.h>
#include <conio.h>
void main()
{ int vect[10][10];
clrscr();
{ ptr = vect[i];
suma += *(ptr+i);
#include <stdio.h>
main()
{ int i; /* se defineste variabila I de tip intreg */
printf("%-10s",zile[i]);
printf("\n");
#include <stdio.h>
main( )
else
free ( ptr);
printf("\n\n"); } }
#include <stdio.h>
void main ( )
char sir_dest[50];
printf("\"%s\"\n",sir_sursa);
de_la = sir_sursa;
catre = sir_dest;
#include <stdio.h>
void main ( )
{
int valori [10] = { 3,7, -9, 5, 18, 35, -11, 100, -225, 77 };
printf("%5d",*ptr);
sum += *ptr ;
#include <iostream.h>
{ int i;
{ cout << "Introduceti valoarea " << i+1 << ": ";
}}
void main(void)
{ int numar[3];
cout << "Programul citeste 3 valori de tip intreg pe care le afiseaza" <<
endl;
cout << "val(" << i+1 << ")=" << numar[i] << endl; }
# include <stdio.h>
main()
int nr_elem, i;
tablou[i] = elem;
int i;
double suma = 0;
suma += tab[i];
return suma;
#include <stdio.h>
main()
int nr_elem, i;
{
printf ("Numar(%d)=", i+1);
tablou[i] = elem;
int i;
double sum = 0;
return sum;
#include <stdio.h>
#include <conio.h>
int masca = 0;
int val_bit = 1;
while (n -- > 0 )
{
masca |= val_bit;
val_bit <<= 1;
scanf("%d", &nr_bit);
getch();
#include <stdio.h>
void main()
{ const char blanc = ' ', punct = '.', plus = '+', minus = '-';
double valoare;
car = blanc;
scanf("%c", &car);
semn = '+';
{ semn = car;
valoare = 0;
scanf("%c", &car); }
if (car == punct)
{ p_subunitar = 0;
scanf("%c", &car);
scanf("%c", &car);
p_subunitar++;
valoare /= baza;
p_subunitar--; }
}
if (semn == minus)
valoare = -valoare;
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define LIMITA 30
#define DIMENS 81
main()
int nr_linie =0 , i;
nr_linie ++;
transforma ( text[i] );
puts ( text[i] );
if ( isupper ( *ptr_car ) )
ptr_car++;