0% found this document useful (0 votes)
69 views

Program Care Declara o Variabila, o Introd de La Tastatura Si o Afiseaza

The document discusses various control flow structures in C programming including if-else statements, switch statements, for loops, while loops, and do-while loops. It provides examples of code using each of these structures to check conditions, iterate, and perform calculations. It also includes examples of full programs that take user input, perform operations, and display output using these control flow structures.

Uploaded by

Adrian
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views

Program Care Declara o Variabila, o Introd de La Tastatura Si o Afiseaza

The document discusses various control flow structures in C programming including if-else statements, switch statements, for loops, while loops, and do-while loops. It provides examples of code using each of these structures to check conditions, iterate, and perform calculations. It also includes examples of full programs that take user input, perform operations, and display output using these control flow structures.

Uploaded by

Adrian
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 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