rendered paste body#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <malloc.h>
#define filename "pinakas.txt"
int menu(void);
int DimiourgiaPinaka (int *pinakas);
void EmfanisiPinaka(int *pinakas, int length);
void saveData(int *pinakas, int length);
void loadData(int *pinakas);
int main(void)
{
int choice,*pinakas,megethos,memory;
pinakas=(int *)malloc(sizeof(int));
do{
choice=menu();
switch(choice){
case 1:megethos=DimiourgiaPinaka(pinakas); break;
case 2:saveData(pinakas,megethos);getch(); break;
case 3:loadData(pinakas);printf("megethos:%d\n",sizeof(pinakas)); break;
case 4:EmfanisiPinaka(pinakas,megethos); break;
case 5:break;
case 6:break;
case 7:break;
case 8:break;
case 9:break;
case 0:exit(0);
}
}while(1);
free(pinakas);
}
int menu(void){
int choice;
do{
printf("1.Dimiourgia pinaka \n");
printf("2.Apothikeusi pinaka se arxeio \n");
printf("3.Anaktisi pinaka apo arxeio \n");
printf("4.Emfanisi pinaka \n");
printf("5.Bubblesort \n");
printf("6.Insertion Sort \n");
printf("7.Quick Sort 1 \n");
printf("8.Quick Sort 2 \n");
printf("9.Quick Sort 3 \n");
printf("0.Eksodos apo tin efarmogi \n");
printf("choice: ");
scanf("%d",&choice);
}while (choice!=0&&choice!=1 && choice!=2 && choice!=3 && choice!=4 && choice!=5
&&choice!=6 && choice!=7 && choice!=8 && choice!=9);
return choice;
}
int DimiourgiaPinaka (int *pinakas)
{
int megethos,epilogi,key=0,i;
printf("Dwste to epithymito megethos tou pinaka :\n");
scanf("%d" , &megethos);
realloc(pinakas,megethos * sizeof(int));
if(pinakas==NULL) printf("Den yparxei arketi mnini gia dimiourgia enos pinaka \n");
while(key==0)
{
printf("Patiste 1 gia Ataksinomito pinaka h 2 gia Sxedon Taksinomimeno pinaka : \n");
scanf("%d",&epilogi);
if(epilogi==1)
{
printf("EPILOGH 1:Ataksinomitos pinakas --> to aitima sas einai se ekseliksi...\n");
srand(time(NULL));
for (i=0; i<megethos; i++)
{
pinakas[i]=rand()%10;
printf("%d\n",pinakas[i]);
}
printf("megethos:%d\n",megethos);
key=1;
}
else if (epilogi==2)
{
key=1;
}
else
{
printf("--------------------Dwsate lathos epilogi--------------------\n");
key=0;
}
}
return megethos;
}
void EmfanisiPinaka(int *pinakas, int length)
{
int i;
printf("TEST");
for( i=0; i<length; i++)
{
printf(" To stoixeio %d tou pinaka einai : %d\n ",i+1,pinakas[i]);
}
printf("TEST2");
}
void saveData(int *pinakas, int length){
FILE *fp;
int i;
fp=fopen(filename,"wb");
if (fp == NULL) {
printf("I couldn't open pinakas.txt for writing.\n");
exit(0);
}
for (i=0; i<=length-1; ++i) fprintf(fp, "%d \n", pinakas[i]);
fclose(fp);
}
void loadData(int *pinakas)
{
FILE *fp;
int i,mem;
fp=fopen(filename,"rb");
fseek(fp,0,SEEK_END);
mem=ftell(fp);
fseek(fp,0,SEEK_SET);
i=0;
realloc(pinakas,mem);
if(pinakas==NULL) printf("Den yparxei arketi mnini gia dimiourgia enos pinaka \n");
printf("%d\n",mem);
while(feof(fp)==1)
{
fscanf(fp,"%d \n",&pinakas[i]);
printf("%d",pinakas[i]);
i=i+1;
}fclose(fp);
}