0
Can anyone explain why my code doesn't work?
The inserted code is my attempt to solve the Code Coach problem "That's Odd...". I wrote my code in C. When I try to filter the even numbers from the odd numbers, and store them in an array, the array starts getting some weirds values. I would much appreciate it if some could fix my code and tell me why my program is behaving this way. To run the code: Copy the code, insert it into the Code Coach "That's Odd..." Problem and run to get the inputs. Thank you! https://code.sololearn.com/cGXoMv2CYlBX/?ref=app
1 Réponse
+ 5
// JaScript modifications #########################
#include <stdio.h>
int main() {
// Get the first given number and store in 'length';
// This number is denotes the length of the list.
int length;
int x; // ###################
scanf("%d", &length);
// Creating the list with the name 'num'
int num[length];
// Getting input values and storing them in 'num'.
for(int i=0; i<length; i++) {
// ############################
scanf("%d", &x);
num[i] = x;
}
// This code SHOULD filter out all the even numbers and store them in 'even'.
int even[20];
int p = 0;
for(int i=0; i<length; i++) {
if(num[i] % 2 == 0) {
even[p] = num[i];
p++;
}
}
// DEBUG: prints the values of 'even'.
for(int i=0; i<p; i++) { // #####################
printf("%d\n", even[i]);
}
// In the end, the program loops through the 'even' list and calculates the sum. Then it prints the sum.
/*
unsigned int sum = 0;
for(int i=0; i<20; i++) {
sum += even[i];
}
printf("%d", sum);
*/
return 0;
}