עזרה דחופה בשפת C :(

  • פותח הנושא qaa
  • פורסם בתאריך

qaa

New member
עזרה דחופה בשפת C :(

#include <stdio.h> #include <conio.h> #define N 9 int main() { int A[N],B[8],bol=1,bol2=2,i,C[14],D[14],sum=0; C[0]=50; C[1]=51; C[2]=52; C[3]=53; C[4]=54; C[5]=55; C[6]=56; C[7]=57; C[8]=58; C[9]=64; C[10]=65; C[11]=66; C[12]=67; C[13]=68; D[0]=505; D[1]=507; D[2]=522; D[3]=523; D[4]=544; D[5]=545; D[6]=506; D[7]=577; D[8]=528; D[9]=524; D[10]=525; D[11]=546; D[12]=547; D[13]=508; for (i=0;i<N;i++) scanf("%d",&A); sum=A[1]*10+A[2]; for (i=0;i<14;i++) if (sum==C) { bol2=1; } printf("%d\n",bol); getch(); }
 

qaa

New member
השאלה: למה זה תמיד נכנס ל-IF

למרות שהתנאי לא מתקיים. הוא לא משנה מה הוא תמיד מדפיס 1.. למה? תודה מראש
 

qaa

New member
העלתי את זה לכתבן שיהיה נוח לקרוא.

מצטער על "ההצפה".
 

HaRmosh

New member
לי הוא לא מדפיס תמיד 1...

כמה הצעות לשיפור: 1. לדעתי, עדיף לקלוט את המספר כמחרוזת במקום ללחןץ אנטר אחרי כל ספרה, שזה מה שחייב לעשות במצב הנתון. 2. את האתחול איבר-איבר אתה יכול לשנות למשהו יותר קריא, כמו:
int c[14] = {51, 52, 53, ... }​
 

alexrait1

New member
בפעם הבאה

כשאתה מאתחל משתנים תעשה את זה קצת יותר מקוצר. int C={1,2,3,4,5,6,7,8,8} ddd בסגנון כזה. זה יגדיר לך ישירות מערך C בגודל 9 ויאתחל את השדות בהתאם.
 
למעלה