Search
#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; }