עבור לתוכן

בעיה בהבנת פלט C++

Featured Replies

פורסם

היי יש לי שתי תוכניות שאני מתקשה להבין את הפלט,אשמח לקבל עזרה לגבי השורות המודגשות:

1.


#include <stdio.h>
#include <conio.h>

unsigned sum_no_digits(unsigned long long n);

void main(){
unsigned long long z;
printf("number: ");
scanf("%llu", &z);
printf("Sum of non appearing digits in %llu is %u",
z, sum_no_digits(z));
_getch();
}

unsigned sum_no_digits(unsigned long long n){
unsigned sum=0, dig, cnt[10]={0};
while(n){
cnt[n%10]++;
n /= 10;
}
for(dig=1; dig<10; dig++)
if (!cnt[dig]) sum += dig;
return sum;
}


2.[code]
[pre]#include <stdio.h>
#include <conio.h>

#define N 5
int number (int arr[], int n);

void main(){
int a[]={0,1,5,3,4};
printf("%d", number(a,N));
_getch();
}

int number (int arr[],int n){
int temp[N+1]={0},i;

for (i=0; i<n; i++)
[b] temp[arr[i]]++[/b];
for (i=0; i<n+1; i++)
if (! temp[i])
return i;
return -1;
}[/pre]

פורסם
  • מחבר

משום מה השורות שהיו אמורות להיות מודגשות,לא הודגשו


בפלט 1:
temp[arr[i]]++;

בפלט 2:
cnt[n%10]++;


פורסם

אי אפשר להדגיש שורות בתוך טג קוד (כל הקטע זה שהוא מציג את הקוד שלי שינויים). את יכולה לערוך ולסמן את השורות בכוכביות או משהו כזה אם את רוצה שיהיה יותר ברור.

מה עושות הפעולות ++ ו-%, את יודעת? אם לא אז תלמדי.

פורסם
  • מחבר

אני יודעת מה הן עושות..אני לא מבינה בתרגיל הזה בדיוק מה גדל?הערך בתא של המערך?האינדקס??וכו'

אשמח לקבל עזרה(:

פורסם

הערך של התא במערך.

חוץ מזה, הרבה פעמים הדרך הכי טובה לדעת מה קורה היא לנסות בעצמך (תכתבי תוכנית קטנה שעושה משהו כזה ותדפיסי את התוצאות).

פורסם
  • מחבר

תודה רבה!:)

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים