rendered paste body#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <malloc.h>
#include <string.h>
#define filename "array.txt"
void quicksort(int left,int right);
int main(void)
{
int e,meg,*array,e1,key,key1;
key=0;
key1=0;
printf("Parakalo doste mia epithimiti epilogi(1-9): \n 1. Dimiourgia Pinaka\n 2. Sosimo pinaka se arxeio\n 3. Diabasma pinaka apo arxeio\n 4. Emfanisi pinaka\n 5. BubbleSort\n 6. InsertionSort\n 7. QuickSort1\n 8. QuickSort2\n 9. QuickSort3\n 0. Exodos\n \nEpilogi:");
while(key==0){//me (key!=0) meta tin akiri epilogi girnouse sto arxiko menou alla den ekleine to programma,tora kleinei to programma den girnaei sto arxiko menou...//
scanf("%d",&e);
if(e==1){
printf("Parakalo eisagete to megethos tou pinaka: ");
scanf("%d",&meg);
array=(int *)malloc(meg * sizeof(int));
if(array==0) printf("Den yparxei mnimi gia tin dimiourgia neou pinaka \n");
printf("Doste epithimito tropo arxikopoiisis: \n 1. Ataxinomitos\n 2. Sxedon taxinomimenos\n Epilogi:");
while(key1==0){
scanf("%d",&e1);
if(e1==1){
int i;
srand(time(0));
for(i=0; i<meg; i++){
array[i]=rand()%10;//afou dosoume os tropo arxikopoiisis tin epilogi 1 den bgenei apo to loop gia na girisei sto menou,alla ftiaxnei ton pinaka giati me mia printf emfanize ta tixea stoixeia//
}
key1=1;
}
else if(e1==2){
key1=1;
}
else printf("Akiri epilogi , doste mia epilogi apo 1-2:"); key1=0;
}
key=1;
}
//iparxei tropos na bgeno apo ta loop xoris to key tis while ??//
else if(e==2){
FILE *fp;
int i;
fp=fopen(filename,"w");
if (fp == 0){
printf("Adinati i eggrafi");
exit(0);
}
for(i=0; i<meg; i++) fprintf(fp,"%d\n",array[i]);
fclose(fp);
key=1;
}
else if(e==3){
key=1;
}
else if(e==4){
int i;
for(i=0; i<meg; i++){
printf("%d\n",array[i]);
}
key=1;
}
else if(e==5){
int i, j, temp;
for( i = 1; i < meg; i++){
for( j = 0; j < meg-i; j++)
if( array[j] > array[j+1]){
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
printf("Ta stoixeia tou pianka meta tin taxinomisi einai:\n");
for(i=0; i<meg; i++) printf("%d",array[i]);
key=1;
}
else if(e==6){
int i,j,temp1;
for(i=1; i<meg; i++){
temp1=array[i];
j=i;
while((j>0)&&(array[j-1]>temp1)){
array[j] = array[j-1];
j=j-1;
}
array[j]=temp1;
}
printf("Ta stoixeia tou pianka meta tin taxinomisi einai:\n");
for(i=0; i<meg; i++) printf("%d",array[i]);
key=1;
}
else if(e==7){
key=1;
}
else if(e==8){
key=1;
}
else if(e==9){
key=1;
}
else if(e==0){
key=0;
}
else printf("Akiri epilogi , doste mia epilogi apo 1-9:"); key=1;
}
free(array);
return 0;
}
void q_sort( int left, int right )
{
int pivot,lefthold,righthold;
lefthold=left;
righthold=right;
pivot=array[left];
while(left<right){
while((array[right]>=pivot)&&(left<right)){
right--;
}
if(left!=right){
array[left]=array[right];
left++;
}
while((array[left]<=pivot)&&(left<right)){
left++;
}
if(left!=right){
array[right]=array[left];
right--;
}
}
array[left]=pivot;
pivot=left;
left=lefthold;
right=righthold;
if(left<pivot){
quicksort(left,pivot-1);
}
if(right>pivot){
quicksort(pivot+1,right);
}
}