You are on page 1of 13

if (expresie) instr 1

else
instr 2
...........................
switch
switch(expresie) {case: <expresie 1>: instr1;break;
....................
Instruct switch funct astfel .Se evalueaza <expr>,iar daca se gaseste o val compatibila
in lista <expr1><expr2> se executa grupuil de instruct de pe ramurta case.
Daca expresie nu corespunde niciunei expresiidin clauzele case ,se executa instr din
clauza default
..................................................
Instr for
For(expr 1 ;expr2 expr 3)
<instr >
Instr se executa in mod repetat pana cand val expr 2 este 0
<expr1 > reprezinta de obicei initializerea
Dupa fiecare repetitie ,este exaluata <expr3>,care este de obicei o instr de actualizare a
variabielor contor.
....................................................
instr while Permite repetarea unui grup de instr atat tp cat are val dif de 0.
While (expr) <instr >
unde <instr > se executa in mod repetat atat tp cat val <expr > este dif de 0
<instr > poate sa fie simpla sau compusa
...............................................
do while
permite repetarea executiei unei instructiuni atat timp cat o expresie are val dif de 0
,fiind considerata o structura iterativa cu test final
.......................................

Program care declara o variabila ,o introd de la tastatura si o afiseaza


#include<conio.h>
#include<stdio.h>
void main ()
{clrscr();
int a;
printf("val lui a=");
scanf("%i",&a);
printf("Val lui a = %i",a);
getch();
}
..............................................
Sa se afiseze valorile lui a
#include<conio.h>
#include<stdio.h>
void main ()
{clrscr();
int a;
a=2;
printf("val lui a este %i,a);
getch();

}
.............................................
Suma a doua numere a,b;
#include<conio.h>
#include<stdio.h>
void main ()
{clrscr();
int a,b,s=0;
printf("val lui a=");
scanf("%i",&a);
printf("val lui b=");
scanf("%i",&b);
s=a+b;
printf("Sumaeste %i",s);
getch();
}
.......................................
Suma a doua numere reale
#include<conio.h>
#include<stdio.h>
void main ()
{clrscr();
float a,b,s=0;
printf("val lui a=");
scanf("%f",&a);
printf("val lui b=");
scanf("%f",&b);
s=a+b;
printf("Sumaeste %.2f",s);
getch();
}
...................................
Sa se calculeze expresia E=1/(a+b)
#include<conio.h>
#include<stdio.h>
void main ()
{clrscr();
int a,b,s,e;
printf("val lui a=");
scanf("%i",&a);
printf("val lui b=");
scanf("%i",&b);
if(a!=-b){s=a+b;
e=1/s;
}
printf("expresia este %i",e);
}
else
printf("eroare");
getch();
}
...........................................
Maximul a 3 numere a b c
#include<conio.h>

#include<stdio.h>
void main ()
{clrscr();
int a,b,max,c;
printf("val lui a=");
scanf("%i",&a);
printf("val lui b=");
scanf("%i",&b);
printf("val lui c=");
scanf("%i",&c);
if(a>b){max=a;}
else
{max=b;}
if(c>max){max=c;}
printf("max= %i,max);
getch();
}
..........................................
+,-,/,*, a doua numere a,b;
#include<conio.h>
#include<stdio.h>
void main ()

{clrscr();
case'*': printf("\n Produsul nr %i" ,a*b);
int a,b,max,c;
case'/':if(b!=0)
printf("val lui a=");
printf("\n rez impartirii este %.2f" ,
scanf("%i",&a);
(float)a/b);
printf("val lui b=");
else
scanf("%i",&b);
printf("\n eroare!");
printf("\n Tastati + - / - ");
break;
c=getche();
default;printf("\n Ati testat gresit !");
switch(c);
}
{ case'+': printf("\n Suma nr %i" ,a+b);
getch ();
case'-': printf("\n Diferenta nr %i" ,a-b);
}
...................................................
Se dau numere pana se introduce 0 ,calc suma nr introduse pana la car "0"
#include<conio.h>
#include<stdio.h>
void main ()
{clrscr();
int x,s=0;
printf("x=");
scanf("%i",&x);
while(x!=0)
{s=s+x;
printf("\n x=");
scanf("%i",&x);
}
printf("\n suma =%i",s);
}
........................................................

Suma divizorilor unui numar


#include<conio.h>
#include<stdio.h>
void main ()
{clrscr();
int x,s,i;
printf("x=");
scanf("%i",&x);
s=0;
for(i=1;i<x;i++)
if(x%i==0)
s=s+i;
printf("\n rezultatul %i ",s);
getch();
}
.......................................................
Suma factorialelor
#include<conio.h>
#include<stdio.h>
void main ()
{int p=1,s=0,n,i;

printf("n=");
scanf("%i,&n);
for(i=1;i<=n;i++)
{p=p*i;
s=s+p;
}
printf("\n Suma este %i,s);
getch();
}
......................................................
E=-2(1-x)+(sqrt(x))(y+2)
#include<conio.h>
#include<stdio.h>
#include<math.h>
void main ()
{int x,y;
float e;
printf(\n int x);
scanf("%i",&x);
printf(\n int y);
scanf("%i",&y);
if(x>=0&&x!=1&&y!=-2)
{e=-2(1-x)+(sqrt(x))(y+2);
printf("\n e=%.2f",e);
}
else
printf("\n nu exista");
getch ();
}
................................................
Verificarea unui numar prim
#include<conio.h>
#include<stdio.h>
#include<math.h>
void main ()
{int n,prim=1,i;
printf("n=");
scanf("%i",&n);
for(i=2;i<=n-1;i++)
if(n%i==0);
prim=0;
if(prim==1)
printf("nr este prim");
else
printf("nr nu este prim ");
getch();
}
.................................................
Suma elementelor unui vector
#include<conio.h>
#include<stdio.h>
void main ()
{clrscr()

int v[20],n,i,s=0;
printf("n=");
scanf("%i",&n);
for(i=0;i<n;i++)
{printf("v[%i]=",i);
scanf("%i",v[i]);
}
for(i=0;i<n;i++)
s=s+v[i];
printf("Suma elementelor este %i",s);
getch();
}
.............................................
Suma elementelor impare este
#include<conio.h>
#include<stdio.h>
void main ()
{clrscr()
int v[20],n,i,s=0;
printf("n=");
scanf("%i",&n);
for(i=0,i<n;i++)
{printf("v[%i]",i);

scanf("%i",&v[i]);
}
for(i=0,i<n;i++)
printf("%i",v[i]);
for(i=0,i<n;i++)
...................................................

if(v[i]%2==1)
s=s+v[i];
printf("elementele impare sunt %i",s)
getch();
}

produsul elementelor divizibile cu 7 este


#include<conio.h>
#include<stdio.h>
void main ()
{clrscr()
int v[20],n,i,p=1;
printf("n=");
scanf("%i",&n);
for(i=0,i<n;i++)
{printf("v[%i]",i);
scanf("%i",&v[i]);
}
for(i=0,i<n;i++)
printf("%i",v[i]);
for(i=0,i<n;i++)
if(v[i]%7==0)
p=p*v[i];
printf("produsul elementelor div cu 7 este %i",p);
getch();
}
...............................................
Sa se afiseze toate elementele mai mari
decat a

.................................................
Sa se calculeze produsul elementyelor
din intrevalul a b

#include<conio.h>
#include<stdio.h>
void main ()
{clrscr()
int v[20],n,i,a;
printf("n=");
scanf("%i",&n);

#include<conio.h>
#include<stdio.h>
void main ()
{clrscr()
int v[20],n,i,p=1;
printf("n=");
scanf("%i",&n);
printf("a=");
scanf("%i",&a);
printf("b=");
scanf("%i",&b);
for(i=0,i<n;i++)
{printf("v[%i]",i);
scanf("%i",&v[i]);
}

for(i=0,i<n;i++)
{printf("v[%i]",i);
scanf("%i",&v[i]);
}
for(i=0,i<n;i++)
printf("%i",v[i]);
printf("a=");
scanf("%i",&a);
for(i=0,i<n;i++)
if(v[i]>a)
printf("\n el mai mari decat a ,sunt: ",v[i]);
getch();
}

for(i=0,i<n;i++)
if(v[i]>=0&&v[i]<=b)
p=p*v[i];
if(p!=1)
printf(" produsul este %i",p);

else
printf("Eroare)";
getch();
}
..................................................................

.
sa se inlocuiasca cu 0 el negative
dintr.un vector
#include<conio.h>
#include<stdio.h>
void main ()
{clrscr()
int v[20],n,i,s=0;
printf("n=");
scanf("%i",&n);
for(i=0,i<n;i++)
{printf("v[%i]",i);
scanf("%i",&v[i]);
}
for(i=0,i<n;i++)
if(v[i]<0)
v[i]=0;
printf("elementele sunt :")'
for(i=0,i<n;i++)
printf("%i",v[i]);
getch();
}

..

!!!!! IF !!!!!
........................................................................
.....
Exemplul 3: Sa se citeasca doua variabile de
tip long int a si b si sa se determine
maximul:
#include <stdio.h>
#include <conio.h>
main(void)
{
long int a, b, max;
clrscr();
printf("\n a="); scanf("%ld",&a);
printf("\n b="); scanf("%ld",&b);
if (a>=b)
max = a;
62
else
max = b;
printf("\n maximul = %ld", max);
getche();
}
........................................................................
.........
Exemplul 5: Sa se citeasca variabilele reale
a, b si c si sa se rezolve ecuatia
de gradul II ( a *x2 + b * x + c = 0, a, b,
c m R):
#include <stdio.h>
#include <conio.h>
#include<math.h>
float a,b,c,x, x1, x2, delta;
void main(void)
{
clrscr();
printf("\n a = "); scanf("%f",&a);
printf("\n b = "); scanf("%f",&b);
printf("\n c = "); scanf("%f",&c);
if ( a == 0 ) if ( b == 0 ) if ( c == 0 )
printf("\n o infinitate de solutii");
else
printf("\n imposibil");
else { x = -c/b;
63
printf("\n x = %.2f",x);

}
else { delta = b * b - 4 * a * c;
if ( delta < 0 )
printf ("\n radacini complexe");
else
{ x1 = ( -b - sqrt ( delta))/ ( 2 * a);
x2 = ( -b + sqrt ( delta))/ ( 2 * a);
printf("\n x1 = %.2f",x1);
printf("\n x2 = %.2f",x2);
}
}
getche();
}
........................................................................
.....................
Exemplul 2: Sa se citeasca o variabila x
reala si sa se calculeze si afiseze radical
din x:
#include <stdio.h>
#include <conio.h>
#include<math.h>
main(void)
{
float x;
clrscr();
printf("\n x=");
scanf("%f",&x);
printf("\n radical din %5.2f ", x);
if (x>=0)
printf("= %5.2f", sqrt(x));
else
printf(" nu se poate calcula ");
getche();
}
Observatie: Functia sqrt() are prototipul
definit n fisierul de tip header
<math.h>
.....................................................................
Exemplul 1: Sa se citeasca o variabila x
ntreaga si sa se calculeze si afiseze modul
de x:
#include <stdio.h>
#include <conio.h>
int main(void)
{
int x;
clrscr();
printf("\n x=");
61
scanf("%d",&x);
printf("\n |%d|=", x);
if (x>=0)
printf(" %d", x);
else

printf(" %d", -x);


getche();
return 0;
}
........................................................................
...........
!!!!!SWITCH !!!!!!

Sa se citeasca o variabila ntreaga x si doua


variabile reale a si
b. Sa se afiseze un meniu corespunzator
operatorilor: +, , *, /, +=, - =, ++, % si sa
se calculeze valoarea expresiilor a + b,
a b, a * b, a / b ( dac b n 0), a += b, a
-=
b, ++a , a % b, n functie de operatia
corespunzatoare variabilei selectoare x:
#include <stdio.h>
#include <conio.h>
void main(void)
{
int x;
float a,b;
clrscr();
printf("\n a = "); scanf("%f",&a);
printf("\n b = "); scanf("%f",&b);
printf("\n 1: a + b");
printf("\n 2: a - b");
printf("\n 3: a * b");
printf("\n 4: a / b");
printf("\n 5: a += b");
printf("\n 6: a -= b");
printf("\n 7: ++a ");
printf("\n 8: a % b ( se convertesc in numere
intregi) ");
printf("\n Alegeti operatia 1 ...8: ");
scanf("%d",&x);
switch (x)
{ case 1: printf("\n a + b = %.2f",a + b);
break;
case 2: printf("\n a - b = %.2f",a - b); break;
case 3: printf("\n a * b = %.2f",a * b); break;
case 4: if ( b != 0 ) printf("\n a / b = %.2f",a /
b);
else
printf("\n impartire la 0"); break;
case 5: a+=b;
printf("\n a += b;\t a = %.2f \t b =%.2f",a,
b);
break;
case 6: a-=b;

printf("\n a -= b; a = %.2f b =%.2f",a, b);


break;
case 7: printf("\n ++a = %d",(int)+
+a);break;
case 8: if ( b != 0 ) printf("\n a %c b =
%d",'%',(int)a % (int)b);
else
printf("\n impartire la 0"); break;
default: printf("\n alte variante "); break;
}
getche();
}
......................................................................

Exemplul 2: Sa se citeasca un caracter x si


sa se determine daca x este vocala,
consoana sau alt caracter:
#include <stdio.h>
#include <conio.h>
#include<ctype.h>
void main(void)
{
char x;
clrscr();
printf("\n Dati litera: "); scanf("%c",&x);
if (!isalpha(x))
printf("\n %c nu este litera",x);
else
switch (x)
{ case 'a':
case 'A':
case 'e':
case 'E':
case 'i':
case 'I':
case 'o':
case 'O':
case 'u':
case 'U': printf("\n %c este vocala",x); break;
default : printf("\n %c este consoana",x);
break;
}
getche();
}
.....................................................................
Programul de mai jos verifica daca litera
tastata este vocala sau consoana:
#include <stdio.h>
#include <conio.h>
Void main ()
{
char x;

clrscr();
printf("\n Dati litera: "); scanf("%c",&x);
switch (x)
{ case 'a':
case 'A':
case 'e':
case 'E':
case 'i':
case 'I':
case 'o':
case 'O':
case 'u':
case 'U': printf("\n %c este vocala",x); break;
default : printf("\n %c este consoana",x);
break;
}
getche();
}
.................................................................
!!!!! Operatorul conditional ?: !!!!!
Exemplul 1: Sa se citeasca doua variabile
reale x si y si sa se determine
maximul:
#include <stdio.h>
#include <conio.h>
void main(void)
{
float x, y;
70
clrscr();
printf("\n x = ");scanf("%f", &x);
printf("\n y = ");scanf("%f", &y);
printf("\n maxim ( %.2f, %.2f) = %.2f",
x>=y?x:y);
getche();
}
...........................................................
Exemplul 2: Sa se citeasca o variabila
reala x si sa se calculeze valoarea
functiei f n punctul x, unde functia f
este definita astfel:
F(x)= -2
2*x+s

x<=0;
x>0

#include <stdio.h>
#include <conio.h>
void main(void)
{
float x, f;
clrscr();
printf("\n x = ");scanf("%f", &x);
( x<=0 ) ? (f = -2 ) : (f = 2 * x + 5);
printf("\n f ( %.2f) = %.2f", x, f);

getche();
}
............................................................
!!!!! FOR !!!!!
Exemplul 1: Sa se citeasca o variabila n
naturala si sa se calculeze si
afiseze suma si produsul primelor n
numere naturale.
// suma si produsul primelor n numere
naturale
#include<stdio.h>
#include<conio.h>
typedef unsigned int natural;
natural n, s, i;
float p;
void main (void)
{ clrscr();
printf("\n n="); scanf("%u", &n);
s=0;
for ( i = 1; i <= n ; i ++) s = s + i;
printf("\n suma = %u", s);
p = 1;
for ( i = 1; i <= n ; i ++) p = p * i;
printf("\n produsul = %.0f", p);
getche();
}
........................................................................
.
Exemplul 2: Sa se citeasca n numere reale si
sa se calculeze suma lor:
// suma a n numere reale
#include<stdio.h>
#include<conio.h>
float x, s;
int n, i;
void main (void)
{ clrscr();
printf("\n n="); scanf("%i", &n);
s = 0;
for ( i = 1; i <= n ; i ++)
{ printf("\n dati nr. real x = "); scanf("%f",
&x);
s = s + x;
}
73
printf("\n suma = %5.2f", s);
getche();
}
........................................................................
..
Exemplul 4: Pentru o variabila n ntreaga, sa
se afiseze triunghiul de
numere de n linii, pe fiecare linie sunt
numerele naturale de la 1 la n (exemplu:
pentru n = 5 rezulta triunghiul de mai jos):

1
12
123
1234
12345
// triunghi de numere <= n
#include<stdio.h>
#include<conio.h>
#include <stdlib.h>
int n, i, j;
void main (void)
{ clrscr();
printf("\n n = "); scanf("%d", &n);
if ( n<=0)
{ printf("\n numarul n trebuie sa fie > 0");
getche();
exit(1);
}
for ( i =1; i <= n ; i++)
{ for ( j = 1; j <= i; j++) printf(" %d", j);
75
printf("\n");
}
getche();
}
........................................................................
.......
Exemplul 5: Sa se verifice daca n este
prim, unde n este un numar ntreg
dat:
// numarul n este prim?
#include<stdio.h>
#include<conio.h>
#include <stdlib.h>
void main()
{
int n, i, sw;
clrscr();
printf(" n = ");
scanf("%i",&n);
if ( n <= 1)
{ printf("\n numarul n trebuie sa fie > 1");
getche();
exit(1);
}
sw = 1; // presupunem ca este prim
for(i = 2; i <= int(n/2); i++)
{
if( n % i == 0)
sw = 0; // are divizor, deci nu este prim
}
if( sw == 1)
printf("%i este prim ",n);
else
printf("%i nu este prim ",n);
getch();

}
........................................................................
......
Exemplul 6: Afisati toate numerele
prime mai mici dect n, unde n este o
variabila ntreaga data:
//numerele prime mai mici decat un
numar n
76
#include<stdio.h>
#include<conio.h>
#include <stdlib.h>
void main()
{
int n,i,j, sw;
clrscr();
printf("n = "); scanf("%i",&n);
if ( n <= 1)
{ printf("\n numarul n trebuie sa fie > 1");
getche();
exit(1);
}
printf("\n numerele prime <= %d sunt:\n\n
",n);
for(i = 2 ; i <= n; i++)
{
sw = 1;
for(j = 2; j <= i/2; j++)
if( i % j == 0)
sw = 0;
if(sw == 1)
printf(" %i ",i);
}
getch();
}
........................................................................
...............
!!!! WHILE !!!!!!
Sa se citeasca o variabila n ntreaga si sa se
calculeze si
afiseze suma primelor n numere
naturale.
// suma primelor n numere naturale
#include<stdio.h>
#include<conio.h>
long int n, s, i;
void main (void)
{ clrscr();
printf("\n n = "); scanf("%ld", &n);
s = 0;
i = 1;
while ( i <= n )
{ s = s + i;
i++;
}
printf("\n suma = %ld", s);

getche();
}
...............................................................
Exemplul 2: Pentru n numere reale
date, sa se calculeze produsul lor.
Efectuati testul la citirea lui n (n sa fie
un numar strict pozitiv):
Metoda 1: initializarea variabilei contor cu 0
// produsul a n numere reale
#include<stdio.h>
#include<conio.h>
float x, p;
int n, i;
void main (void)
{ clrscr();
n = 0;
while ( n <= 0 )
{
printf("\n n = ");
scanf("%i", &n);
}
p = 1;
i = 0;
while ( i < n )
{
i++;
printf("\n dati nr. real x = ");
scanf("%f", &x);
p = p * x;
}
printf("\n produs = %5.2f", p);
getche();
}
........................................................................
.
Exemplul 4: Sa se citeasca doua variabile x si
y ntregi n mod repetat si sa
se calculeze x + y. Sa se repete citirea
numerelor x si y att timp ct raspunsul
la
ntrebarea Mai lucrati? (d/n) este
diferit de caracterele n si N:
#include<stdio.h>
#include<conio.h>
int x,y;
char r;
void main (void)
{
clrscr();
r = 'D';
while ( r !='N' && r != 'n')
{
printf("\n dati numerele :\n");
printf("\n x = ");
scanf("%d",&x);
printf("\n y = ");

scanf("%d",&y);
printf("\n x + y = %d", x + y);
printf("\n\n Mai lucrati? ( d / n) ");
r = getche();
}
getche();
}
...............................................................
Exemplul 5: Sa se citeasca n mod repetat o
variabila ntreaga x pna la tastarea unui
0. Sa se calculeze media aritmetica a
numerelor pozitive:
#include<stdio.h>
#include<conio.h>
int x,s,i;
float media;
void main (void)
{ clrscr();
s=0; i = 0;
printf("\n x = "); scanf("%d",&x);
while ( x != 0)
if (x > 0)
{
s = s+x;
i = i +1;
printf("\n x = "); scanf("%d",&x);
}
else {
printf("\n x = ");
scanf("%d",&x);
}
printf("\n sunt %d numere pozitive",i);
media =s/i;
printf("\n media aritmetica = %7.2f", media);
getche();
}
........................................................................
.
// cmmdc ( a, b )
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b;
clrscr();
printf("\n a = "); scanf("%i",&a);
printf("\n b = "); scanf("%i",&b);
do
if ( a > b )
a = a - b;
else
b = b - a;
while ( a != b);
printf("\n c.m.m.d.c. ( %d, %d ) = %d", a, b,
a);

getch();
}
...................................................................
Exemplul 3: Sa se afiseze divizorii unui
numar n natural, n > 1 (se face
testul la citirea lui n, repetndu-se
citirea att timp ct n <= 1).
De exemplu, dac n = 60:
- divizorii proprii: 2 3 4 5 6 10 12 15 20 30
- divizorii improprii: 1 60
Daca n = 13:
- divizorii proprii: nu exista
- divizorii improprii: 1 13
// divizorii lui n
#include<stdio.h>
#include<conio.h>
85
void main()
{
int n,i, sw;
clrscr();
do
{
printf("\n n = ");
scanf("%i",&n);
}
while(n <= 1);
printf("\n divizorii proprii: ");
sw = 0;
for (i = 2; i <= int(n/2); i ++)
if ( n % i == 0 )
{ sw =1;
printf(" %d", i);
}
if(!sw) printf("nu exista");
printf("\n divizorii improprii: 1 si %d",n);
getch();
}
.......................................................................
!!!!! NR ELEMENTELOR >0 !!!!
#include<stdio.h>
#include<conio.h>
int a[15], i, n, nr;
void main (void)
{
clrscr();
printf("\n n=");
scanf("%d", &n);
nr = 0; // numarul elementelor strict pozitive
este 0
for (i = 0; i < n; i++)
{
printf("\n a[%d]=",i);
scanf("%d", &a[i]);
if ( a[i] > 0 ) nr++;

}
printf("\n vectorul a: ");
for(i=0; i< n; i++)
printf("%d ", a[i]);
printf("\n\n numarul elementelor strict
pozitive = %d ", nr);
getche();
}
........................................................................
.
Sa se citeasca un vector a cu n elemente
ntregi si sa se calculeze suma
elementelor, folosind diferite metode de
reprezentare a unui element a[i], unde
0 o i < n.
#include<stdio.h>
#include<conio.h>
void main(void)
{
clrscr();
int a[40];
int i, n, s;
do
{
printf("\n nr de elemente: n = ");
scanf("%d", &n);
}
while(n<=0 || n >40);
98
printf("\n dati vectorul a:");
for(i=0; i < n; i++)
{
printf("\n a[%d]=",i);
scanf("%d",&a[i]);
}
printf("\n vectorul a:");
for(i = 0; i < n; i++)
printf(" %d ",*(a+i)); // a[i] = *(a+i)
s = 0;
for(i=0; i < n; i++)
s += i[a]; // a[i] = i[a] = *(a+i)
printf("\n\n suma elementelor vectorului =
%d ",s);
getche();
}
..................................................................
Sa se afiseze elementele prime dintr-un
vector a cu n numere ntregi. Sa se
efectueze testul la citirea lui n (trebuie sa fie
ndeplinita conditia 0 < n < numarul
de locatii de memorie alocate vectorului).
#include<stdio.h>
#include<conio.h>
int a[25], i, j, n, nr, sw;
void main (void)
{

clrscr();
99
do
{
printf("\n n=");
scanf("%d", &n);
}
while(n<=0 || n>=25);
for (i = 1; i <= n; i++)
{ printf("\n a[%d]=",i);
scanf("%d", &a[i]);
}
printf("\n vectorul a: ");
for(i=1; i<= n; i++)
printf("%d ", a[i]);
nr = 0; // numarul de elemente prime
for (i = 1; i <= n; i++)
if (a[i]>=2)
{ // se verifica daca a[i] este prim
sw = 0; // se presupune ca a[i] nu are divizori
for (j = 2; j<=int(a[i]/2); j++)
if ( a[i] % j == 0)
sw = 1; // a[i] are divizori
if ( !sw)
{ printf("\n %d prim", a[i]);
nr++;
}
}
if (!nr)
printf("\n\n nu exista numere prime ");
getche();
}
......................................................
Exemplu:
Pentru un vector A cu elemente de tip char
( char A[5] ), se aloca o zona de
memorie contigua de dimensiune 5 * 1 octet
= 5 octeti ( sizeof( char) = 1).
#include<stdio.h>
#include<conio.h>
char A[5];
100
int n,i;
void main (void)
{
clrscr();
printf("\n n=");
scanf("%d", &n);
for (i = 0; i < n; i++)
{
printf("\n A[%d]=",i);
A[i] = getche();
}
printf("\n vectorul a: ");
for(i=0; i< n; i++)
printf("\n %c (adresa %p) ", A[i], &A[i]);

printf("\n\n memoria ocupata de tabloul a: 5


* %d octeti ", sizeof(char));
getche();
}
........................................................................
// sortare prin interschimbare
#include<stdio.h>
#include<conio.h>
int a[24], i, n, j, aux;
void main (void)
{
clrscr();
do
{
printf("\n n=");
scanf("%d", &n);
}
while(n<=0 || n>24);
for (i = 0; i < n; i++)
{
printf("\n a[%d]=",i);
scanf("%d", &a[i]);
}
printf("\n vectorul a: ");
for(i = 0; i < n; i++)
printf("%d ", a[i]);
for (i = 0; i < n - 1; i++)
for (j = i+1; j < n; j++)
if (a[i] > a[j])
{ aux = a[i];
a[i] = a[j];
a[j] = aux;
}
printf("\n vectorul ordonat: ");
for(i = 0; i < n; i++)
printf("%d ", a[i]);
getche();
}
.............................................................
!!!! MATRICE !!!!!
ze suma elementelor de pe diagonala
principala.
#include<stdio.h>
#include<conio.h>
void main(void)
{
clrscr();
int a[30][30], i, j, n, s;
do
{
printf("\n nr de linii si coloane: n = ");
scanf("%d", &n);
}
while (n <= 0 || n > 30);
printf("\n dati matricea a:\n");

for(i = 0; i < n; i++)


for(j = 0; j < n; j++)
{ printf("\n a[%d, %d]=",i,j);
scanf("%d",&a[i][j]);
}
printf("\n matricea a:\n");
for(i = 0; i < n; i++)
112
{
for(j = 0; j < n; j++) printf(" %d ", *(*(a+i)
+j));
printf("\n");
}
s = 0;
for(i = 0; i < n; i++)
s = s + (*(a+i))[i];
printf("\n suma - diagonala principala = %d
",s);
getche();
}
.......................................................

You might also like