Documente Academic
Documente Profesional
Documente Cultură
13.04.2020 – 17.04.2020
if(!v)
return 1;
for (i = 0; i < n; i++)
{
printf("v[%d] = ", i);
scanf("%d", v + i);
}
for(i = 0; i < n; i++)
printf("%d ", *(v + i));
free(v);
return 0;
}
3. Se citesc de la tastatură valori întregi până la întâlnirea unei valori nenumerice. Să se aloce un
tablou v cu capacitatea inițială de 5 elemente și să se stocheze în tabloul v elementele citite. În
cazul în care capacitatea inițială de 5 este depășită, se va realoca tabloul v la capacitate dublă,
utilizând funcția realloc. Să se afișeze conținutul final al tabloului v.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, x, *v, *w, k = 0, i;
n = 5;
v = (int*)calloc(n, sizeof(int));
if(!v)
return 1;
while(scanf("%d", &x))
{
if(k == n)
{
n = 2 * n;
w = realloc(v, n * sizeof(int));
if(w != NULL)
v = w;
else
return 1;
}
*(v + k) = x;
k++;
}
for(i = 0; i < k; i++)
printf("%d ", *(v + i));
free(v);
return 0;
}