MHB C Function Help - Solve Issues with Void Function

  • Thread starter Thread starter Colton0117
  • Start date Start date
  • Tags Tags
    Function
AI Thread Summary
The discussion revolves around issues with implementing a void function in C that inserts zeros between elements of an input array. The user has provided code but is struggling to make the function work correctly, particularly due to not calling the function in the main section. There is also a syntax error identified in the function header, which has been corrected, but the user still faces challenges with the overall functionality. The expected output format is specified, and the user seeks assistance to ensure the program operates as intended. Overall, the main concern is effectively integrating the void function to achieve the desired output array.
Colton0117
Messages
5
Reaction score
0
I am having issues making my function work. If there is not a void function included, my program works as intended but sadly I need to have a function. I am at a loss as how to implement this type of function. The requirements are below and any help asap would be GREATlY appreciated!

Write a program that include the following function:
void insert0(int n, int a1[], int a2[]);

In the main function, ask the user to enter the length of the input array, declare the input and output arrays, read in the values for the input array, and call the insert0 function to compute the output array. The main function should display the result of the output array.
Enter the length of the array: 5
Enter the elements of the array: 3 4 9 1 4
Output: The output array is: 3 0 4 0 9 0 1 0 4 0

My code:

Code:
#include <stdio.h>

void insert0(int n, int a1[], int a2[]);

int main() {

int i = 0;
int n = 0;
int a1[n];
int a2[n * 2];

printf("Enter the length of the array: ");
scanf("%d",&n);

printf("Enter the elements of the array: ");

for(i = 0; i < n; i++){ //adds values to first array
        scanf("%d",&a1[i]);
}

//call function here

for( i = 0; i < n*2; i++){ //prints array 2
        printf("%d", a2[i]);
        }

void insert0 (int n, int a1[], int a2[]){//inserts 0's between each number
for(i = 0; i < n; i++){
        a2[i+i] = a1[i];
        a2[i+i+1] = 0;
        }
        return 0;
}
 
Last edited:
Technology news on Phys.org
Colton0117 said:
I am having issues making my function work. If there is not a void function included, my program works as intended but sadly I need to have a function. I am at a loss as how to implement this type of function. The requirements are below and any help asap would be GREATlY appreciated!

Write a program that include the following function:
void insert0(int n, int a1[], int a2[]);

In the main function, ask the user to enter the length of the input array, declare the input and output arrays, read in the values for the input array, and call the insert0 function to compute the output array. The main function should display the result of the output array.
Enter the length of the array: 5
Enter the elements of the array: 3 4 9 1 4
Output: The output array is: 3 0 4 0 9 0 1 0 4 0

My code:

Code:
#include <stdio.h>

void insert0(int n, int a1[], int a2[]);

int main() {

int i = 0;
int n = 0;
int a1[n];
int a2[n * 2];

printf("Enter the length of the array: ");
scanf("%d",&n);

printf("Enter the elements of the array: ");

for(i = 0; i < n; i++){ //adds values to first array
        scanf("%d",&a1[i]);
}

//call function here

for( i = 0; i < n*2; i++){ //prints array 2
        printf("%d", a2[i]);
        }

void insert0 (int n, int a1[], int a2[]); //inserts 0's between each number   <------ This line is the problem
for(i = 0; i < n; i++){
        a2[i+i] = a1[i];
        a2[i+i+1] = 0;
        }
        return 0;
}

Look carefully at the function header, the marked line, for your insert0 function you have syntax error on the line.
 
squidsk said:
Look carefully at the function header, the marked line, for your insert0 function you have syntax error on the line.

I have fixed that issue, although that was just a typo and not my actual problem.
 
Colton0117 said:
I have fixed that issue, although that was just a typo and not my actual problem.

OK, then what's wrong with your solution, other than you haven't called the function in main?
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
What percentage of programmers have learned to touch type? Have you? Do you think it's important, not just for programming, but for more-than-casual computer users generally? ChatGPT didn't have much on it ("Research indicates that less than 20% of people can touch type fluently, with many relying on the hunt-and-peck method for typing ."). 'Hunt-and-peck method' made me smile. It added, "For programmers, touch typing is a valuable skill that can enhance speed, accuracy, and focus. While...
I had a Microsoft Technical interview this past Friday, the question I was asked was this : How do you find the middle value for a dataset that is too big to fit in RAM? I was not able to figure this out during the interview, but I have been look in this all weekend and I read something online that said it can be done at O(N) using something called the counting sort histogram algorithm ( I did not learn that in my advanced data structures and algorithms class). I have watched some youtube...
Back
Top