I'm relatively new to programming and I have to write a function that reads in input from the user and to fill two arrays then compare them. I guess what I'm confused on is how to read in both arrays.
This is what I'm supposed to do,
Write a table_diff fuction that compares two arrays of integers and returns the subscript of the first place they differ. If the arrays are the same, the function should return -1 ex:
345 & 345 --> -1 (same)
345 & 346 --> 2 (differ at index 2)
1234 & 123 --> 3 (differ at index 3)
But what im having trouble with is writing the function to read the two arrays in. Im not sure if i can do it in one single while loop or if i need two?
This is what i have, any help is appreciated!
Code:
int table_fill(int a[], int b[],int max)
{
int value;
int r;
int *ptra = a;
int *ptrb = b;
int *endptra = ptra - max;
int *endptrb = ptrb - max;
printf("please enter values \n\n");
while((r = scanf("%i", &value)) != 1 && ptra < endptra)
{
*(ptra++) = value;
if (r==1)
printf("No room after reading values\n\n");
else if(r != EOF)
printf("invalid char");
}
while((r = scanf("%i\n", &value))!= 1 && ptrb < endptrb){
*(ptrb++) = value;
if (r==1)
printf("No room after reading values\n\n");
else if(r != EOF)
printf("invalid char");
}
}