הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 22-05-09, 13:51   # 1
Xinxy
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
הודעות: 259

Xinxy לא מחובר  

בעיה עם מערכים בC

שלום לכולם
עשיתי את התוכנית הזאת:
PHP קוד:
#include <stdio.h>
#include <conio.h>

int main()
{
    
int numberArraySize=3, Array[ArraySize];
    
printf("Write Number ");
    
scanf("%d", &number);
    
    
//הכנסת הספרות למערך
    
for(int i ArraySize-1>= 0i--)
    {
          Array[
i] = number%10;
          
number /= 10;
    }
    
    
//הצגת המערך
    
for(int i=0ArraySizei++)
    {
             
printf("%d, ", Array[i]);
    }
    
    
getch();

בDEV C++ התוכנית עובדת נהדר
אבל כשאני מנסה להפעיל אותה דרך הVS זה אומר לי
PHP קוד:
Error    1    error C2057expected constant expression    ...................arry.cpp    6    arry
Error    2    error C2466
cannot allocate an array of constant size 0    ....................arry.cpp    6    arry
Error    3    error C2133
'Array' unknown size    ..........arry.cpp    6    arry 
מישהו יודע אולי מה צריך לעשות בשביל לסדר את זה?
  Reply With Quote
ישן 22-05-09, 14:02   # 2
ani
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
הודעות: 1,571

ani לא מחובר  

אוקי לא מצאתי כאן בעיות,
אבל לפי מה שאני יודע, חלק מהקומפיילרים לא מקבלים כמה מהדברים שעשיתה כאן.
לדוגמא, ה main היא פונ' שלא מחזירה ערך ולכן היא צריכה להיות void ולא int .
או למשל הגדרת ה I בתוך הfor.
לא כל כך הבנתי את השגיאה שנתתה פה, אבל ייתכן שזה בגלל שהגדרתה את גודל המערך עם משתנה.

מקווה שעזרתי,
אם לא, תרשום, אני אנסה לחשוב על עוד כמה דברים.
שבת שלום
  Reply With Quote
ישן 22-05-09, 14:37   # 3
Xinxy
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
הודעות: 259

Xinxy לא מחובר  

ציטוט:
נכתב במקור על ידי ani צפה בהודעה
אוקי לא מצאתי כאן בעיות,
אבל לפי מה שאני יודע, חלק מהקומפיילרים לא מקבלים כמה מהדברים שעשיתה כאן.
לדוגמא, ה main היא פונ' שלא מחזירה ערך ולכן היא צריכה להיות void ולא int .
או למשל הגדרת ה I בתוך הfor.
לא כל כך הבנתי את השגיאה שנתתה פה, אבל ייתכן שזה בגלל שהגדרתה את גודל המערך עם משתנה.

מקווה שעזרתי,
אם לא, תרשום, אני אנסה לחשוב על עוד כמה דברים.
שבת שלום
שכחתי לציין שעשיתי את הדברים שאמרת
אני בטוח שהבעיה היא של המשתנה בתוך משתנה, אבל אני חייב לעשות את הדבר הזה :\
  Reply With Quote
ישן 22-05-09, 20:04   # 4
ani
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
הודעות: 1,571

ani לא מחובר  

אני לא בטוח שהבנתי נכון,
חח אני פשוט קצת קשה לי לחשוב עכשיו,
אבל אם הבנתי נכון, הרעיון של המשתנה בתוך המערך, הוא בשביל שתוכל לשנות בין מספר דו ספרתי, תלת ספרתי וכו' בצורה פשוטה?
  Reply With Quote
ישן 22-05-09, 20:53   # 5
Slash
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 34
הודעות: 522

Slash לא מחובר  

תנסה לשנות את זה ל:
קוד:
int number, ArraySize=3;
int Array[ArraySize];
וצריך לבדוק יכול להיות ש Array זה מילה שמורה .

תשנה גם את התוכנית ל void main כדי שלא יחזיר ערך .
והרבה זמן לא תיכנתתי בC אבל אני לא בטוח שצריך להכריז פעמיים int i
__________________
Aziza Web Magazine

Always account for variable change

Last edited by Slash; 22-05-09 at 20:56..
  Reply With Quote
ישן 22-05-09, 21:08   # 6
ani
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
הודעות: 1,571

ani לא מחובר  

אם הבנתי נכון,
וזאת באמת הבעיה, אז אתה פשוט יכול להגדיר את גודל המערך בעזרת define
אם אתה לא מכיר את הפקודה זה עובד ככה:
אתה רושם מעל הvoid main
define ArraySize 3
ואז בכל פעם שאתה תרשום ArraySize
מבחינה תכנתית תופיע שם הספרה "3".
מה החסרון של זה? אתה לא יכול לעשות שינויים ב ArraySize.
אבל לפי מה שראיתי אתה גם ככה לא עושה בו שינויים.
  Reply With Quote
ישן 22-05-09, 23:33   # 7
sholaman
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 33
הודעות: 323

sholaman לא מחובר  

תנסה להגדיר את גודל המערך כקבוע ולא כמשתנה.
__________________
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 12:45.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ