long *allocate_numberarray(long len)
{
long *neuezahl;
long n;
if((neuezahl=malloc(len+sizeof(long)))!=0)
{
for(n=0; n<len; n++)
neuezahl[n]=0;
}
else
{
printf( "0x1^Fehler bei allozierung\n");
// fprintf(stderr, "0x1^Fehler bei allozierung\n"); //Fehler stderr ist nicht definiert ?
exit(-1);
}
return &neuezahl[0];
}
void our_free(long *mem)
{
if(mem)
{
free(mem);
mem=0;
}
}
void print(long *mem, long len)
{
long n=len-1;
printf("Die Zahl : ");
for(; n>=0; n--)
{
printf("%ld", mem[n]);
}
printf("\n--------");
}
long *change_numberarray(long *mem, long len)
{
long n;
long wert;
printf("Zahl einlesen:");
for(n; n<=len; n++)
{
if(mem[n]==0)
{
printf("%ld.Stelle:", len-n);
scanf("%ld",&wert);
getchar();
mem[n]=wert;
}
}
return &mem[0];
}
long *change_size(long *mem, long old_size, long new_size)
{
long *neuezahl1;
long n;
if ((neuezahl1 = realloc(mem,new_size*sizeof(long)))!=0)
{
if(new_size>old_size)
{
for(n=old_size; n<new_size; n++)
{
neuezahl1[n]=0;
}
}
}
else
{
printf("Fehler 0x2 Fehler bei der Reallozierung");
exit(-2);
}
return &neuezahl1[0];
}
long add(long *a, long size1,
long *b, long size2,
long *c, long size3)
{
long n_a, n_b;
for(n_a=0; n_a<size1; n_a++)
c[n_a]=a[n_a];
for(n_b=0; n_b<size2; n_b++)
c[n_b]=c[n_b]+b[n_b];
if(c)
return 1;
else
return -1;
}