previoslyi constructed this code for entering an integer array in a row.
it worked fine.
here as it was before:
Code:
#include <stdio.h>
int read_array(int input[],int i,int size);
int main()
{
int i;
int input[40];
printf("%d\n",read_array(input,0,8));
for(i=0;i<8;i++)
{
printf("%d ",input[i]);
}
printf("\n");
}
int read_array(int input[],int i,int size)
{
int flag,rt;
if (i==size)
{
return 1;
}
flag=scanf("%d",&input[i]);
if (flag==0)
{
return 0;
}
else
{
}
rt=read_array(input,i+1,size);
return rt;
}
now when i tried to integrate it into the big program
by basicly doing copy paste (in option 3)
it just doesnt work like before
why??
Code:
#include <stdio.h>
int read_array(int input[],int i,int size);
void recSelSort(int array[],int length);
void selSort(int array[], int i ,int length);
void swap(int num[],int i,int j);
int recFindMin(int array[], int index);
void remove_duplicates(char string[], int index);
void overwrite(char string[], int index);
int has_duplicate(char string[], int index, char ch);
int merge_strings(char str1[], int index1,char str2[],int index2, char result[], int index3);
void read(char input2[],int i);
void main_menu();
void show_menu();
void clean();
int merge(char str1[], int index1,char str2[],int index2, char result[], int index3);
int merge_strings(char str1[], int index1,char str2[],int index2, char result[], int index3);
void main()
{
main_menu();
}
void main_menu()
{
//opt1
int i;
int size;
char input[255];
char input2[255];
char result[510]={0};
int flag;
//opt1
char opt[900];
show_menu();
scanf("%s",opt);
clean();
if((opt[0]>='0')&&(opt[0]<='9')&&(opt[1]=='\0'))
{
if (opt[0]=='1')
if (opt[0]=='2')
{
}
if (opt[0]=='3')
{
printf("Please enter the size of array you want to sort:\n");
scanf("%d",&size);
clean();
printf("Please enter %d values for the array (in one row):\n",size);
read_array(input,0,size);
clean();
for(i=0;i<8;i++)
{
printf("%d ",input[i]);
}
printf("\n");
clean();
}
if (opt[0]=='4')
{
printf("4\n");
}
if (opt[0]=='5')
{
printf("5\n");
}
if (opt[0]=='0')
{
return;
}
}//end else
else
{
printf("Input incorrect! Please try again.\n");
printf("\n");
}
main_menu();
}
void show_menu()
{
printf("--------------------------\n");
printf("Please enter your choice:\n");
printf("1) Merge strings.\n");
printf("2) Remove duplicates in the string.\n");
printf("3) Sort the array using recursive selection sort.\n");
printf("4) Calculate the length of the max increasing set.\n");
printf("5) Check partition.\n");
printf("0) Exit.\n");
}
void clean()
{
int lnd;
lnd= getchar();
if (lnd != '\n')
{
clean();
}
else
{
return;
}
}
int read_array(int input[],int i,int size)
{
int flag,rt;
if (i==size)
{
return 1;
}
flag=scanf("%d",&input[i]);
if (flag==0)
{
return 0;
}
rt=read_array(input,i+1,size);
return rt;
}