Documente Academic
Documente Profesional
Documente Cultură
Lab Sda NR 1
Lab Sda NR 1
Chișinău 2019
Sarcina:
Să se scrie un program care creează un tabel de numere și
adună coloanele, apoi rezultatul se afișează într-un tabel
unidemnsional.
void cr1(int *ptrU, int*ptrB, unsigned short int nr, unsigned short int nc)
{
int K = 0, res;
for (int i = 0; i < nc; i++)
{
res = 0;
for (int j = 0; j < nr; j++)
{
res += *(ptrB + (nc*j) + i) ;
}
*(ptrU + K++) = res;
}
}
void afisare1(int *ptr, int size)
{
printf("\n\n\nafisare tabel unidim.:\n\n");
for (int i = 0; i < size ; i++)
printf("%d ", *(ptr+i));
}
int main()
{
const int N = 100;
srand(static_cast<unsigned int>(time(NULL)));
unsigned short int nr, nc;
int tab[N][N], arr[N*N];
printf("Introdu numarul de rinduri: ");
scanf("%hu", &nr);
printf("Introdu numarul de coloane: ");
scanf("%hu", &nc);
cr2(&tab[0][0], nr, nc);
cr1(&arr[0], &tab[0][0], nr, nc);
afisare1(&arr[0], nc);
printf("\n\n");
return EXIT_SUCCESS;
}
Output:
Codul: (variabile dinamince, pointeri)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
{ int i, j;
int N;
*(arr + i) = (int*)malloc(nt*sizeof(int));
printf("\n");
N=rndint(1,10);
printf("\n[%d][%d]=%d", i, j, N);
(*(*(arr+i) +j))= N;
}
}
return arr;
k = 0;
k += *(*(tab+j) +i);
*(arr+ v++)= k;
return arr;
{ printf("\n\nTablou unidimensional:\n\n");
int main()
srand(static_cast<unsigned int>(time(NULL)));
int nr, nt;
scanf("%d", &nr);
scanf("%d", &nt);
Afis(tab2, nt);
free(*(tab+i));
free(tab);
free(tab2);
printf("\n\n\n");
return 0; Output:
}
Codul: (variabile globale)
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 100
int tab1[N][N], tab2[N*N];
int k = 0 ,res;
for (int j = 0; j < nc; j++)
{
res = 0;
}
tab2[k++] = res;
}
}
void afis(int k)
{
printf("Tabloul unidimensional: \n");
for (int i = 0; i < k; i++)
printf("%d ", tab2[i]);
}
int main()
{
srand(static_cast<unsigned int>(time(NULL)));
int nr, nc;