* Re: C program help
2009-09-19 15:13 C program help spiros85
@ 2009-09-19 15:38 ` Tim Walberg
2009-09-19 15:51 ` Manish Katiyar
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Tim Walberg @ 2009-09-19 15:38 UTC (permalink / raw)
To: spiros85; +Cc: linux-c-programming
Not tested, but here's a simple (not very efficient or elegant, but
reasonable) concept. It's basically keeping a history, and postprocessing
the history to generate the lists. It might be better to keep separate
right/wrong lists as you go, but it's not as simple...
#include <stdio.h>
#include <stdlib.h>
#define NPROBLEMS 10
int main()
{ int x[NPROBLEMS], y[NPROBLEMS], right_answer[NPROBLEMS], given_answer[NPROBLEMS];
int nright, nwrong;
int i;
for (i = 0; i < NPROBLEMS; ++i)
{ x[i] = i;
y[i] = i;
right_answer[i] = x[i] + y[i];
printf("What is %d + %d? ", x[i], y[i]);
scanf("%d", &(given_answer[i]));
if (given_answer[i] == right_answer[i])
{ printf("%d is RIGHT answer\n", given_answer[i]);
++nright;
}
else
{ printf("%d is WRONG answer; the RIGHT answer is %d\n", given_answer[i], right_answer[i]);
++nwrong;
}
}
printf("You got %d right and %d wrong\n", nright, nwrong);
printf("Right answers:");
for (i = 0; i < NPROBLEMS; ++i)
if (right_answer[i] == given_answer[i])
printf(" %d", given_answer[i]);
printf("\n");
printf("Wrong answers:");
for (i = 0; i < NPROBLEMS; ++i)
if (right_answer[i] != given_answer[i])
printf(" %d", given_answer[i]);
printf("\n");
return 0;
}
On 09/19/2009 08:13 -0700, spiros85 wrote:
>>
>> Hi guys of dear forum!I am a new programmer in C programming language and i
>> have a question for you about the following C code:
>> #include <stdio.h>
>> #include <stdlib.h>
>>
>> int main()
>> {
>> int x;
>> int answer;
>> int right;
>> int wrong;
>> printf("This is a program of sum\n");
>> right = 0; /*Initialization of right value*/
>> wrong = 0; /*Initialization of wrong value*/
>> for(x = 1; x <= 10; x++)[QUOTE][/QUOTE]
>> {
>> printf("What is %d + %d: ", x, x);
>> scanf("%d", &answer);
>> printf("The sum is %d\n", answer);
>> printf("\a");
>> if(answer == x + x)
>> {
>> printf("%d is RIGHT answer\n", answer);
>> right++; /*Saves and increases the amount of right answers*/
>> }
>> else
>> {
>> printf("%d is WRONG answer\n", answer);
>> b[10] = answer;
>> wrong++; /*Saves and increases the amount of wrong answers*/
>> printf("The correct answer is %d\n", x + x);
>> }
>> }
>> printf("The right answers are %d and the wrong are %d\n", right, wrong);
>> fflush(stdin);
>> getchar();
>> }
>>
>> First, I use DEV C++ compiler!This program asks from user to find the sum of
>> 1+1,2+2 until for loop reaches 10.As you can observe with right++ and
>> wrong++ i can define and print to the screen the amount of right or wrong
>> numbers!
>> My question is how could I define the number of correct and wrong numbers in
>> collaboration with their amount?For example:
>> The right answers are 8 and wrong are 2
>> The right answers are 2 4 6 8 10 12 14 16
>> The wrong answers are 22 44
>> --
>> View this message in context: http://www.nabble.com/C-program-help-tp25522429p25522429.html
>> Sent from the linux-c-programming mailing list archive at Nabble.com.
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
End of included message
--
twalberg@comcast.net
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: C program help
2009-09-19 15:13 C program help spiros85
2009-09-19 15:38 ` Tim Walberg
@ 2009-09-19 15:51 ` Manish Katiyar
2009-10-09 12:10 ` shiva kumar
2009-12-29 4:50 ` vignesh1988i
3 siblings, 0 replies; 5+ messages in thread
From: Manish Katiyar @ 2009-09-19 15:51 UTC (permalink / raw)
To: spiros85; +Cc: linux-c-programming
On Sat, Sep 19, 2009 at 8:43 PM, spiros85 <spirosfr_1985@hotmail.com> wrote:
>
> Hi guys of dear forum!I am a new programmer in C programming language and i
> have a question for you about the following C code:
> #include <stdio.h>
> #include <stdlib.h>
>
> int main()
> {
> int x;
> int answer;
> int right;
> int wrong;
> printf("This is a program of sum\n");
> right = 0; /*Initialization of right value*/
> wrong = 0; /*Initialization of wrong value*/
> for(x = 1; x <= 10; x++)[QUOTE][/QUOTE]
> {
> printf("What is %d + %d: ", x, x);
> scanf("%d", &answer);
> printf("The sum is %d\n", answer);
> printf("\a");
> if(answer == x + x)
> {
> printf("%d is RIGHT answer\n", answer);
> right++; /*Saves and increases the amount of right answers*/
> }
> else
> {
> printf("%d is WRONG answer\n", answer);
> b[10] = answer;
> wrong++; /*Saves and increases the amount of wrong answers*/
> printf("The correct answer is %d\n", x + x);
> }
> }
> printf("The right answers are %d and the wrong are %d\n", right, wrong);
> fflush(stdin);
> getchar();
> }
>
> First, I use DEV C++ compiler!This program asks from user to find the sum of
> 1+1,2+2 until for loop reaches 10.As you can observe with right++ and
> wrong++ i can define and print to the screen the amount of right or wrong
> numbers!
> My question is how could I define the number of correct and wrong numbers in
> collaboration with their amount?For example:
> The right answers are 8 and wrong are 2
> The right answers are 2 4 6 8 10 12 14 16
> The wrong answers are 22 44
#include<stdio.h>
#define N 10
int main() {
int answer;
int i;
int result[N][2];
int right = 0, wrong = 0;
for (i=1;i<=N;i++) {
printf("What is %i + %i ? :",i,i);
scanf("%d",&answer);
if (i+i == answer) {
result[i-1][0] = answer;
result[i-1][1] = 1;
right++;
} else {
result[i-1][0] = answer;
result[i-1][1] = 0;
wrong++;
}
}
printf ("The right answers are %d and wrong answers are %d\n",right, wrong);
printf("The right answers are : ");
for (i=0;i<N;i++) {
if (result[i][1]) {
printf("%d ", result[i][0]);
}
}
printf("\n");
printf("The wrong answers are : ");
for (i=0;i<N;i++) {
if (!result[i][1]) {
printf("%d ", result[i][0]);
}
}
printf("\n");
return 0;
}
> --
> View this message in context: http://www.nabble.com/C-program-help-tp25522429p25522429.html
> Sent from the linux-c-programming mailing list archive at Nabble.com.
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
Thanks -
Manish
--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: C program help
2009-09-19 15:13 C program help spiros85
2009-09-19 15:38 ` Tim Walberg
2009-09-19 15:51 ` Manish Katiyar
@ 2009-10-09 12:10 ` shiva kumar
2009-12-29 4:50 ` vignesh1988i
3 siblings, 0 replies; 5+ messages in thread
From: shiva kumar @ 2009-10-09 12:10 UTC (permalink / raw)
To: linux-c-programming
here is solution
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x;
int answer;
int right;
int wrong;
int righta[100];
int wronga[100];
int i;
printf("This is a program of sum\n");
right = 0; /*Initialization of right value*/
wrong = 0; /*Initialization of wrong value*/
for(x = 1; x <= 10; x++)
{
printf("What is %d + %d: ", x, x);
scanf("%d", &answer);
printf("The sum is %d\n", answer);
printf("\a");
if(answer == x + x)
{
printf("%d is RIGHT answer\n", answer);
righta[right]=answer;
right++; /*Saves and increases the amount of right answers*/
}
else
{
printf("%d is WRONG answer\n", answer);
wronga[wrong] = answer;
wrong++; /*Saves and increases th }
}
righta[right]=0;
wronga[wrong]=0;
printf("The right answers are %d and the wrong are %d\n", right, wrong);
printf("The right answers are ");
for(i=0;righta[i];i++){
printf("%d\t",righta[i]);
}
printf("\nThe wrong answers are ");
for(i=0;wronga[i];i++){
printf("%d\t",wronga[i]);
}
fflush(stdin);
getchar();
}
e amount of wrong answers*/
printf("The correct answer is %d\n", x + x);
spiros85 wrote:
>
> Hi guys of dear forum!I am a new programmer in C programming language and
> i have a question for you about the following C code:
> #include <stdio.h>
> #include <stdlib.h>
>
> int main()
> {
> int x;
> int answer;
> int right;
> int wrong;
> printf("This is a program of sum\n");
> right = 0; /*Initialization of right value*/
> wrong = 0; /*Initialization of wrong value*/
> for(x = 1; x <= 10; x++)[QUOTE][/QUOTE]
> {
> printf("What is %d + %d: ", x, x);
> scanf("%d", &answer);
> printf("The sum is %d\n", answer);
> printf("\a");
> if(answer == x + x)
> {
> printf("%d is RIGHT answer\n", answer);
> right++; /*Saves and increases the amount of right answers*/
> }
> else
> {
> printf("%d is WRONG answer\n", answer);
> b[10] = answer;
> wrong++; /*Saves and increases the amount of wrong answers*/
> printf("The correct answer is %d\n", x + x);
> }
> }
> printf("The right answers are %d and the wrong are %d\n", right,
> wrong);
> fflush(stdin);
> getchar();
> }
>
> First, I use DEV C++ compiler!This program asks from user to find the sum
> of 1+1,2+2 until for loop reaches 10.As you can observe with right++ and
> wrong++ i can define and print to the screen the amount of right or wrong
> numbers!
> My question is how could I define the number of correct and wrong numbers
> in collaboration with their amount?For example:
> The right answers are 8 and wrong are 2
> The right answers are 2 4 6 8 10 12 14 16
> The wrong answers are 22 44
>
--
View this message in context: http://www.nabble.com/C-program-help-tp25522429p25820023.html
Sent from the linux-c-programming mailing list archive at Nabble.com.
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: C program help
2009-09-19 15:13 C program help spiros85
` (2 preceding siblings ...)
2009-10-09 12:10 ` shiva kumar
@ 2009-12-29 4:50 ` vignesh1988i
3 siblings, 0 replies; 5+ messages in thread
From: vignesh1988i @ 2009-12-29 4:50 UTC (permalink / raw)
To: linux-c-programming
1) SEE , wat i feel is that you can have a count after u answer
for the question u ask using printf statement... that count must be
initilized to 0 which will act as a question number. .
2) And since u are a beginner in C , iam suggesting u to make use
of two arrays where u can have one for right answers and other for wrong
answers....
3) In the array of right answers where u are checking ur answer
== x+x , inside that statement assign the count to the right answerd array
as:
right[i]=count;
4) if ur if becomes false , in else same u must do as above but
that should be :
wrong[j]=count;
after this u would get ur desired output....... any doubts , mail me
:softvig88@gmail.com
thank u
--
View this message in context: http://old.nabble.com/C-program-help-tp25522429p26951151.html
Sent from the linux-c-programming mailing list archive at Nabble.com.
^ permalink raw reply [flat|nested] 5+ messages in thread