ABA


"שפת סי - איפה הטעות שלי?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15638 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15638
spidey1  
חבר מתאריך 1.7.02
25536 הודעות
   17:09   27.12.09   
אל הפורום  
  שפת סי - איפה הטעות שלי?  
 
   זאת השאלה:
כתוב פונקציה שתקבל מצביע למערך ואורך לבדיקה (ללא קשר לגודלו האמיתי של המערך) ותחזיר את מספר הפעמים שמופיע המספר 3 במערך.
זה הקוד שלי:

#include <iostream>
using namespace std;
#define SIZE 5

int checks(int n, int* p)
{
int i, counter=0;
for(i=0; i<=n; i++, *p++)
{
if((*p==3) & (i<SIZE))
{
counter++;
}
}
return counter;
}


void main()
{
int arr[SIZE], i;
int *p;
cout<<"please enter the numbers into the arry\n";
for(i=0; i<SIZE; i++)
{
cin>>arr[i];
}
cout<<"enter the amount of numbers you want to check for the number 3\n";
cin>>i;
p=&(arr[0]);
checks(i, &p);
}

ואז זה רושם לי בשגיאה:


(31) : error C2664: 'checks' : cannot convert parameter 2 from 'int **' to 'int *'

אני מניח שהבעיה היא בשליחה לפונקציה, כי כשהורדתי את הכוכבית זה עבר קומפילציה, אבל לא עבד... מה אני עושה לא בסדר?
תודה לעוזרים


Tears Will Get You Sympathy,
Sweat Will Get You Results!


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  P הוא כבר מצביע. אתה שולח את הכתובת של המצביע. ronen333  27.12.09 17:14 1
     קודם כל תודה, הבנתי, עכשיו התוכנית רצה לי, אבל spidey1   27.12.09 21:13 2
         כי לא הדפסת כלום... checks מחזיר מספר, לא מדפיס אותו... TTAsnn 27.12.09 21:30 3
             תודה! אתה גאון! איזה טיפש אני... spidey1   28.12.09 00:32 4

       
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   17:14   27.12.09   
אל הפורום  
  1. P הוא כבר מצביע. אתה שולח את הכתובת של המצביע.  
בתגובה להודעה מספר 0
 
   ורשמת בפונקציה שהוא מקבל מצביע, לא מצביע למצביע. מבין?
אתה צריך לשלוח אותו בלי אמפרסאונד.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
spidey1  
חבר מתאריך 1.7.02
25536 הודעות
   21:13   27.12.09   
אל הפורום  
  2. קודם כל תודה, הבנתי, עכשיו התוכנית רצה לי, אבל  
בתגובה להודעה מספר 1
 
   אחרי שהיא רצה, היא עפה בלי להחזיר לי את הערך של הCOUNTERץ... למה?
היא רושמת:

The program '[1744] 81.exe: Native' has exited with code 0 (0x0).


Tears Will Get You Sympathy,
Sweat Will Get You Results!


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

   21:30   27.12.09   
אל הפורום  
  3. כי לא הדפסת כלום... checks מחזיר מספר, לא מדפיס אותו...  
בתגובה להודעה מספר 2
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
spidey1  
חבר מתאריך 1.7.02
25536 הודעות
   00:32   28.12.09   
אל הפורום  
  4. תודה! אתה גאון! איזה טיפש אני...  
בתגובה להודעה מספר 3
 
  


Tears Will Get You Sympathy,
Sweat Will Get You Results!


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

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

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



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