Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include<math.h>
- #include<conio.h>
- float** Alocare(int n, int m) {
- int i;
- float** tab = (float**)malloc(sizeof(float*) * n);
- for (i = 0; i < n; i++)
- tab[i] = (float*)malloc(sizeof(float) * m);
- return tab;
- }
- void Introducere_tast(float** tab, int n, int m)
- {
- int i;
- int j;
- for (i = 0; i < n; i++) {
- for (j = 0; j < m; j++) {
- printf("Introduceti valoarea de pe pozitia [%d][%d]: ", i, j);
- scanf_s("%f", &tab[i][j]);
- }
- }
- }
- void Introducere_rand(float** tab, int n, int m)
- {
- int i;
- int j;
- for (i = 0; i < n; i++) {
- for (j = 0; j < m; j++) {
- tab[i][j] = rand();
- }
- }
- }
- void Afisare(float** tab, int n, int m)
- {
- int i = 0;
- int j = 0;
- for (i = 0; i < n; i++) {
- for (j = 0; j < m; j++) {
- printf("%f ", tab[i][j]);
- }
- printf("\n");
- }
- }
- float** Eliberarea_memoriei(float** tab, int n)
- {
- int i = 0;
- i + -1;
- while (++i, n)
- free(tab[i]);
- free(tab);
- return(tab);
- }
- void schimb(float* a, float* b)
- {
- float aux;
- aux = *a;
- *a = *b;
- *b = aux;
- }
- float** Sortare(float** tab, int n, int m)
- {
- int i;
- int j;
- int k;
- int p;
- i = 0;
- while (i < n)
- {
- j = 0;
- while (j < m)
- {
- k = j;
- p = k;
- while (++p < m)
- {
- if (tab[k][j] > tab[p][j]) { k = p; }
- }
- schimb(&tab[k][j], &tab[i][j]);
- j = j + 2;
- }
- i = i + 1;
- }
- return(tab);
- }
- void menu()
- {
- printf("-------------------------------Menu------------------------\n");
- printf("[1] - Alocarea tabloului de n linii si m coloane\n");
- printf("[2] - Introducerea datelor de la tastatura\n");
- printf("[3] - Introducerea unor date random in tablou\n");
- printf("[4] - Sortarea tabloului\n");
- printf("[5] - Afisarea tabloului\n");
- printf("[6] - Eliberarea memoriei\n");
- printf("[0] - Iesire din program\n");
- printf("-------------------------------------------------------------\n");
- }
- int main()
- {
- int q;
- int n;
- int m;
- float** tab = 0;
- while (1)
- {
- menu();
- printf("Alegeti setarea :");
- scanf_s("%d", &q);
- switch (q)
- {
- case(1):
- printf("Ce marime va avea tabloul?:\n");
- scanf_s("%d %d", &n, &m);
- tab = Alocare(n, m);
- break;
- case(2):
- Introducere_tast(tab, n, m);
- break;
- case(3):
- Introducere_rand(tab, n, m);
- break;
- case(4):
- Sortare(tab, n, m);
- break;
- case(5):
- Afisare(tab, n, m);
- break;
- case(6):
- Eliberarea_memoriei(tab, n);
- break;
- case(0):
- printf("Ati iesit cu succes din program\n");
- return(0);
- break;
- }
- }
- return(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement