Advertisement
Dr4noel

Matrice cu un "for" (folosind pointer si functii)

Dec 12th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.01 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4.  
  5. void citireM(int linii, int coloane, int *pointer) {
  6.     int i;
  7.  
  8.     for (i = 0; i < linii*coloane; i++) {
  9.         printf("V[%d][%d]= ", i / coloane, i % coloane);
  10.         scanf_s("%d", pointer);
  11.         pointer++;
  12.     }
  13. }
  14.  
  15. void afisareM(int linii, int coloane, int *pointer) {
  16.     int i;
  17.     for (i = 0; i < linii*coloane; i++) {
  18.         if ((i%coloane) == 0) {
  19.             printf("\n");
  20.         }
  21.         printf("%d ", *pointer);
  22.         pointer++;
  23.     }
  24.  
  25. }
  26.  
  27. int *alocare(int linii, int coloane) {             
  28.     int *p;
  29.     if ((p = (int*)malloc(sizeof(int)*linii*coloane)) == NULL) {
  30.         printf("Nu aveti memorie suficienta!");
  31.         _getch();
  32.         exit(0);
  33.     }
  34.     return p;
  35. }
  36.  
  37. void main(){
  38.     int linii, coloane, *p;
  39.     int i, *init;
  40.  
  41.     printf("Introduceti numarul de linii: \n");
  42.     scanf_s("%d", &linii);
  43.  
  44.     printf("Introduceti numarul de coloane: \n");
  45.     scanf_s("%d", &coloane);
  46.  
  47.     p = alocare(linii, coloane);
  48.  
  49.     init = p;
  50.  
  51.     citireM(linii, coloane, p);
  52.  
  53.     p = init;
  54.  
  55.     afisareM(linii, coloane, p);
  56.  
  57.     _getch();
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement