#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void vypis_pole(int n,int pole[]){
for (int i = 0; i < n; i++)
{
printf("%d ",pole[i]);
}
printf("\n");
}
int* napln_pole(int n){
int *pole=malloc(n*sizeof(int));
//int *pole=calloc(n,sizeof(int));
for (int i = 0; i < n; i++)
{
pole[i]=i+1;
}
return pole;
}
int* cti_pole(int *pocet){
int alokovano = 3;
*pocet = 0;
int *pole;
pole = (int*) malloc(alokovano*sizeof(int));
if (pole==NULL){
printf("Nepovedla se alokace\n");
//uklid
return NULL;
}
int data;
while(scanf("%d",&data)==1){
if (*pocet==alokovano){
//realokace:
alokovano=alokovano+3;
pole = realloc(pole,alokovano*sizeof(int));
printf("probiha realokace na velikost %d\n",alokovano);
if (pole==NULL){
printf("Nepovedla se realokace\n");
//uklid
return NULL;
}
}
pole[*pocet]=data;
(*pocet)++;
}
return pole;
}
int main(int argc, char *argv[])
{
int pocet;
int *pole;
pole = cti_pole(&pocet);
if (pole==NULL){
printf("Nepovedla se alokace\n");
return 100;
}
vypis_pole(pocet,pole);
free(pole);
return 0;
}