ABA


"עזרה ב c. לא מבין למה לא עובד לי.."
גירסת הדפסה        
קבוצות דיון לימודים, מדע ותרבות נושא #11355 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11355
alex1122 
חבר מתאריך 30.8.07
1159 הודעות, דרג אמינות חבר זה
   01:17   19.01.12   
אל הפורום  
  עזרה ב c. לא מבין למה לא עובד לי..  
 
   כתבו פונקציה רקורסיבית:
int is_divisors(int *array, int size);

המקבלת מערך של מספרים חיוביים שלמים ואת גודלו ומחזירה 1 אם כל איבר במערך
מחלק את סכום האיברים הנמצאים מימינו ללא שארית ו- 0 אחרת.

#include <stdio.h>

int is_divisors(int *arr,int size){
int temp=0,i;
if(arr){
return 1;
}
while(!arr){
for(i=1;i<size;i++){
temp=arr+temp;

}
if(*arr%temp==0){
is_divisors(arr+1,size);
}
if(*arr%temp!=0){
return 0;
}

}

}

int main(){
int arr={24,8,0,2};
printf("%d\n",is_divisors(arr,4));

זה נותן לי 1 ואמור לתת לי 0..


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  נראה לי יש לי בעיה בתנאי עצירה alex1122  19.01.12 01:32 1
  למה אתה עושה את הבדיקה הראשונה??? dyermaker  19.01.12 18:04 2
  מתוך סקרנות... איזה מקצוע אתה לומד? ובאיזה מוסד? DanDun 21.01.12 13:04 3

       
alex1122 
חבר מתאריך 30.8.07
1159 הודעות, דרג אמינות חבר זה
   01:32   19.01.12   
אל הפורום  
  1. נראה לי יש לי בעיה בתנאי עצירה  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dyermaker 
חבר מתאריך 4.2.03
1644 הודעות, דרג אמינות חבר זה
   18:04   19.01.12   
אל הפורום  
  2. למה אתה עושה את הבדיקה הראשונה???  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 19.01.12 בשעה 18:20 בברכה, dyermaker
 

if(arr){
return 1;
}

!!יחזיר לך מיד 1

במקום זה תבצע את התנאי הבא:


if (size==1) return 1;

בתנאי השני אתה בכלל לא מקדם את המערך צריך להיות משהו כזה:


for(i=1;i<size;i++){
temp=arr{i}+temp;
}

ה-arr
אמור להיות מוקף בסוגריים מרובעות לא מסולסלות ובתוכן i
לא יודע למה זה לא מציג

והתנאי השלישי אמור להיראות משהו כזה:


if(*arr%temp==0){
return is_divisors(arr++,size-1);
}



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DanDun

דרג אמינות חבר זה
   13:04   21.01.12   
אל הפורום  
  3. מתוך סקרנות... איזה מקצוע אתה לומד? ובאיזה מוסד?  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net