Sunteți pe pagina 1din 8

#include<stdio.

h>
#include<conio.h>

//cititi dimensiunea si elementele unei matrice patratice de la


tastatura
//si afisati elementele diagonalei principale intr-un vector
void ex1() {
int numar_linii = 0;
int a[50][50];
int i = 0, j = 0;
int diagonala[50];

printf("Introduceti dimensiunea matricii patratice: ");


scanf_s("%d", &numar_linii);

for (i = 0; i < numar_linii; i++) {


for (j = 0; j < numar_linii; j++) {
printf("\na[%d][%d]= ", i, j);
scanf_s("%d", &a[i][j]);
}
}

printf("\nMatricea introdusa este: \n\n");


for (i = 0; i < numar_linii; i++) {
for (j = 0; j < numar_linii; j++) {
printf(" %d ", a[i][j]);
}
printf("\n");
}

diagonala[0] = 0;
//crearea vectorului ce contine elementele diagonalei
for (i = 0; i < numar_linii; i++) {
diagonala[i] = a[i][i];
}
printf("\nElementele diagonalei sunt: \n\n[ ");
for (i = 0; i < numar_linii; i++) {
printf("%d ", diagonala[i]);
}
printf("]");

_getch();
}

//citirea unei matrici cu do while si


//afisarea unui element de pe o pozitie data
void ex2() {
int i, j, pozx, xx=0;
int linii, coloane;
int pozitii, nr_pozitie=0;
int a[50][50];

printf("Numarul de linii: ");


scanf_s("%d", &linii);
printf("\nNumarul de coloane: ");
scanf_s("%d", &coloane);

pozitii = linii * coloane;


pozx = 0;

printf("\nIntroduceti elementele matrici:\n");


do {
i = pozx / coloane;
j = pozx % coloane;
printf("a[%d][%d] = ", i, j);
scanf_s("%d", &a[i][j]);
pozx++;
} while (pozx<pozitii);

printf("\nDati o pozitie: ");


scanf_s("%d", &xx);

xx = xx - 1;
i = xx / coloane;
j = xx % coloane;

printf("\nElementul de pe pozitia %d este a[%d][%d] = %d",


xx+1, i, j, a[i][j]);

_getch();
}

//citirea si afisarea matricii triunghiulara superioara


//= elementele de sub diagonala sunt zero
void ex3() {
int numar_linii = 0;
int a[50][50];
int i = 0, j = 0;

printf("Introduceti dimensiunea matricii patratice


(linii=coloane): ");
scanf_s("%d", &numar_linii);

//punem toate elementele matricii ca fiind zero


for (i = 0; i < numar_linii; i++) {
for (j = 0; j < numar_linii; j++)
a[i][j] = 0;
}
printf("\n");

//citirea elementelor deasupra diagonala


for (i = 0; i < numar_linii; i++) {
for (j=i; j < numar_linii; j++) {
printf("a[%d][%d] = ", i, j);
scanf_s("%d", &a[i][j]);
}
}
printf("\nMatricea este: \n");
for (i = 0; i < numar_linii; i++) {
for (j = 0; j < numar_linii; j++) {
printf(" %d ", a[i][j]);
}
printf("\n");
}

_getch();
}

//matrice triunghiulara inferioara = elementele de deasupra


diagonala sunt zero
void ex4() {
int numar_linii = 0;
int a[50][50];
int i = 0, j = 0;

printf("Introduceti dimensiunea matricii patratice


(linii=coloane): ");
scanf_s("%d", &numar_linii);

//punem toate elementele matricii ca fiind zero


for (i = 0; i < numar_linii; i++) {
for (j = 0; j < numar_linii; j++)
a[i][j] = 0;
}
printf("\n");

//citirea elementelor de sub diagonala


for (i = 0; i < numar_linii; i++) {
for (j = 0; j < i+1; j++) {
printf("a[%d][%d] = ", i, j);
scanf_s("%d", &a[i][j]);
}
}

printf("\nMatricea este: \n");


for (i = 0; i < numar_linii; i++) {
for (j = 0; j < numar_linii; j++) {
printf(" %d ", a[i][j]);
}
printf("\n");
}

_getch();
}

//cititi si afisati o matrice, dupa care afisati eementele matricii


puse intr-un vector
void ex5() {
int numar_linii = 0, numar_coloane=0;
int a[10][10];
int v[100];
int i, j, k=0, x=0;
int poz_linii, poz_col;

printf("Introduceti numarul de linii al matricii: ");


scanf_s("%d", &numar_linii);
printf("\nIntroduceti numarul de coloane al matricii: ");
scanf_s("%d", &numar_coloane);

printf("\nIntroduceti elementele matricii:\n");


for (i = 0; i < numar_linii; i++) {
for (j = 0; j < numar_coloane; j++) {
printf("a[%d][%d] = ", i, j);
scanf_s("%d", &a[i][j]);
}
}

printf("\nMatricea introdusa este:\n\n");


for (i = 0; i < numar_linii; i++) {
for (j = 0; j < numar_coloane; j++) {
printf(" %d ", a[i][j]);
}
printf("\n");
}
//se introduce matricea in vector
for (i = 0; i < numar_linii; i++) {
for (j = 0; j < numar_coloane; j++) {
v[k++] = a[i][j];
}
}

printf("\nVectorul este: \n\n[ ");

int dim_vector = numar_linii*numar_coloane;

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


printf("%d ", v[i]);
printf("]");

printf("\n\nDati pozitia elementului din vector: ");


scanf_s("%d", &x);
printf("\nElementul de pe pozitia %d din vector este: %d",
x, v[x]);

printf("\n\nDati linia din matrice, pe care se afla


elemetul cautat: ");
scanf_s("%d", &poz_linii);
printf("Dati coloana din matrice, pe care se afla elemetul
cautat: ");
scanf_s("%d", &poz_col);
printf("\nElementul de pe pozitia a[%d][%d] este in
matrice: %d\n", poz_linii, poz_col, a[poz_linii][poz_col]);
//numar_linii si numar_coloane este dimensiunea vectorului,
sunt cele introduse pt dimensiunea matricii,
//iar poz_col este coloana pe care se afla elementul cautat
printf("\niar in vector se afla pe pozitia v[%d]",
v[(numar_linii*numar_coloane) - poz_col]);

_getch();
}

//doi vectori stocheaza un nume si un prenume, se afiseaza


initialele
void ex6() {
char v_nume[32];
char v_prenume[32];
//char initiale[2];
int i = 0, p=0,n=0;

printf("Introduceti un nume:\nnume= ");


for (i = 0; ; i++) {
scanf_s("%c", &v_nume[i]);
n++;
if (v_nume[i] == '\n')//daca apasa enter, iese din
ciclare si trece la urmatoarea instructiune
break;
}
printf("\nIntroduceti un prenume:\nprenume= ");
for (i = 0; ; i++) {
scanf_s("%c", &v_prenume[i]);
p++;
if (v_prenume[i] == '\n')
break;
}
printf("\nDatele introduse sunt: \n");
for (i = 0; i<n ; i++) {
printf("%c", v_nume[i]);
}
for (i = 0; i<p ; i++) {
printf("%c", v_prenume[i]);
}

printf("\nInitialele sunt: %c %c",v_nume[0],v_prenume[0]);

_getch();
}

//Cititi si afisati o matrice de n linii si m coloane


// si afisati elementul minim respectiv elementul maxim al matricii
void ex7() {
int a[50][50];
int i = 0, j = 0;
int nr_linii_a = 0, nr_col_a = 0;
int min, max ;

printf("Dati dimensiunea matricii.\n");


printf("Nr de linii: ");
scanf_s("%d", &nr_linii_a);
printf("\nNr de coloane: ");
scanf_s("%d", &nr_col_a);

printf("\nIntroduceti elementele primei matrici : \n");


for (i = 0; i < nr_linii_a; i++) {
for (j = 0; j < nr_col_a; j++) {
printf("a[%d][%d] = ", i, j);
scanf_s("%d", &a[i][j]);
}
}

printf("\nMatricea introdusa este : \n\n");


for (i = 0; i < nr_linii_a; i++) {
for (j = 0; j < nr_col_a; j++) {
printf(" %d ", a[i][j]);
}
printf("\n");
}

max = a[0][0];
min = a[0][0];
for (i = 0; i < nr_linii_a; i++) {
for (j = 0; j < (nr_col_a); j++) {
if (max < a[i][j])
max = a[i][j];
if (min > a[i][j])
min = a[i][j];
}
}
printf("\nMaximul si minimul din matrice sunt: %d si %d",
max, min);

_getch();
}

//suma elementelor de rang impar ale unui vector de dimensiune n


void ex8() {
int v[100];
int dim_v = 0;
int i = 0;
int suma = 0;

printf("Introduceti dimensiunea vectorului: ");


scanf_s("%d", &dim_v);
printf("\nIntroduceti elementele vectorului:\n");
for (i = 0; i < dim_v; i++) {
printf("v[%d] = ", i);
scanf_s("%d", &v[i]);
}

printf("\nVectorul introdus este: \nv=[ ");


for (i = 0; i < dim_v; i++) {
printf("%d ", v[i]);
}
printf("]");

for (i = 0; i < dim_v; i++) {


if ((i % 2) != 0)
suma = suma + v[i];
}

printf("\nSuma elementelor de pozitiile impare din vector


este: %d", suma);

_getch();
}

//afiseaza un numar dat sub forma a_n*10^n+...+a_1*10^1 unde a_i


este cifra de pe pozitia i
//varianta 1 cu for
void ex9() {
int nr = 0, v[10],i=0, p=0;
int cat=0, rest=0;

printf("Dati un numar format din cel putin 2 cifre, (maxim


11): ");
scanf_s("%d", &nr);

for (i = 0; i < 10; i++) {


rest = nr % 10;
p++;
v[i] = rest;
cat = nr / 10;
nr = cat;
if (cat == 0)
break;
}

printf("\nAfisarea numarului este: \n");


for (i = 0; i < p; i++) {
printf("%d * 10^%d", v[i],i);
if(i<(p-1))
printf(" + ");
}

_getch();
}

//afiseaza un numar dat sub forma a_n*10^n+...+a_1*10^1 unde a_i


este cifra de pe pozitia i
//varianta 2 cu do while
void ex10() {
int nr = 0, v[10], i=0, j=0, p = 0;

printf("Dati un numar format din cel putin 2 cifre, (maxim


11): ");
scanf_s("%d", &nr);

do {
v[i++] = nr % 10;//5673 =
3*10^0+7*10^1+6*10^2+5*10^3
nr = nr / 10;
} while(nr>0);

printf("\nAfisarea numarului este: \n");


for (j = 0; j < i; j++) {
printf("%d * 10 ^ %d", v[j], j);
if (j<(i - 1))
printf(" + ");
}

_getch();
}

void main() {

//ex1();
//ex2();
//ex3();
//ex4();
//ex5();
//ex6();
//ex7();
//ex8();
//ex9();
//ex10();

S-ar putea să vă placă și