Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
mallocpole
#include <stdio.h> #include <stdlib.h> struct Tvector { double *iDataPtr; size_t iPocet; }; //deklarace funkci int ctivector(struct Tvector *aVectorPtr); int minmax(size_t aSize,double *Data,double *aPtrMax,double *aPtrMin); //int ctidata (size_t *aSizePtr,double **aDataPtr); int main () { struct Tvector Vector; // dekalrace vektoru ze struktury int i,err = 0; double min,max = 0; err = ctivector(&Vector); if(Vector.iDataPtr != NULL) { /*for(i =0;i< pocet;i++)scanf("%lf",(DataPtr+i)); printf("\n");*/ //err = ctidata(&Vector.iPocet,&Vector.iDataPtr); if(err == -1)return 1; //tisk pole for(i =0;i< Vector.iPocet;i++)printf("%lf, ",*(Vector.iDataPtr+i)); printf("\n"); err = minmax(Vector.iPocet,Vector.iDataPtr,&max,&min); if(err != -1) { printf("min = %lf\n",min); printf("max = %lf\n",max); free(Vector.iDataPtr); return 0; } else {free(Vector.iDataPtr);return 1;} } else {printf("chyba alokace!");return 2;} } /* int ctidata (size_t *aSizePtr,double **aDataPtr) { int i =0; printf("zadejte velikost pole: "); scanf("%zu",aSizePtr); if(*aSizePtr == 0)return -1; if(*aDataPtr == NULL)return -1; *aDataPtr = (double*) malloc(*aSizePtr*sizeof(double)); if(*aDataPtr != NULL ) { printf("zadej %zu cisel:\n",*aSizePtr); for(i =0;i< *aSizePtr;i++)scanf("%lf",*aDataPtr+i); printf("\n"); return 0; } else return -1; } */ //nacte velikost vektoru ze standartniho vstupu, allokuje pamet,a nacte promněné do vektoru int ctivector(struct Tvector *aVectorPtr) { int i =0; printf("zadejte velikost pole: "); scanf("%zu",&aVectorPtr->iPocet); if(aVectorPtr->iPocet == 0)return -1; if((*aVectorPtr).iDataPtr == NULL)return -1; aVectorPtr->iDataPtr = (double*) malloc(aVectorPtr->iPocet*sizeof(double)); if(aVectorPtr->iDataPtr != NULL ) { printf("zadej %zu cisel:\n",aVectorPtr->iPocet); for(i =0;i< aVectorPtr->iPocet;i++)scanf("%lf",aVectorPtr->iDataPtr+i); printf("\n"); return 0; } else return -1; } //vrati maximalni a minimalni hodnotu pole do promenych *aPtrMax,double *aPtrMin int minmax(size_t aSize,double *Data,double *aPtrMax,double *aPtrMin) { int i = 0; *aPtrMax = Data[0]; *aPtrMin = Data[0]; if(Data != NULL) { for(i = 0;i <aSize;i++) { //maximalni hodnota if(Data[i]>*aPtrMax)*aPtrMax = Data[i]; //minimalni hodnota if(Data[i]<*aPtrMin)*aPtrMin = Data[i]; } return 0; } else return -1; }
run
|
edit
|
history
|
help
0
Bucles: Suma de los 100 primeros naturales
Cvičenie -č.5-UDP
coucou
lab7_OOP 0.3
Pointer_Indirectare_N
myblkqsort-ptr 20m numbers
C
SureshLabLive
VKI_Mihalyk_3_3
correccion