ABA


"שאלה בשפת C , תוכניות דומות - תוצאות שונות , מה הטעות ?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #11828 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11828
theman 
חבר מתאריך 22.3.02
1433 הודעות
   15:17   17.02.05   
אל הפורום  
  שאלה בשפת C , תוכניות דומות - תוצאות שונות , מה הטעות ?  
 
   ערכתי לאחרונה בתאריך 17.02.05 בשעה 15:17 בברכה, theman
 
יש לי שני תוכניות , האחת :

#include <stdio.h>
#include <stdlib.h>

void main()

{ int i,num,a(20);
randomize();
for(i=0;i<9;i++) a=random(31)+25;
printf ("enter num\n");
scanf ("%d",&num);
a=num;
for(i=10;i<20;i++) a=num++;
printf ("The Ar\n");
for(i=0;i<20;i++) printf (" %d ",a(i));
}

*במערך a כתבתי סוגרים מרובעות , רק כאן שיניתי כי לא רואים ברוטר סוגרים מרובעות
**בשורה האחרונה כתבתי את


a(i)

בסוגריים מרובעות , רק כאן שיניתי כי לא רואים ברוטר סוגרים מרובעות

השניה :


#include <stdio.h>
#include <stdlib.h>

void main()

{ int i,a(20);
randomize();
for(i=0;i<9;i++) a=random(31)+25;
printf ("enter num\n");
scanf ("%d",&a);
for(i=10;i<20;i++) a=a++;
printf ("The Ar\n");
for(i=0;i<20;i++) printf (" %d ",a(i));
}


*במערך a כתבתי סוגרים מרובעות , רק כאן שיניתי כי לא רואים ברוטר סוגרים מרובעות
**בשורה האחרונה כתבתי את

a(i)

בסוגריים מרובעות , רק כאן שיניתי כי לא רואים ברוטר סוגרים מרובעות

המטרה : במערך a תאים מ0-8 יהיו עם מספר אקראי בתווח של 25 - 55 , לתא ה-9 נקלוט מספר ואז מהתא ה-10 ועד סוף המערך צריך שיהיו מספרים עוקבים (למשל קלטנו 3 , אז הבאים אחריו יהיה 4,5,6)
המטרה של שני התוכניות שווה .

אבל משום מה אני מקבל תוצאות שונות , הנה תמונות :
התוכנית הראשונה כאשר הקלט הוא 3 :

התוכנית השניה כאשר הקלט הוא 3:

בתוכנית הראשונה אני מקבל פעמיים את הסיפרה 3 (זה לא טוב)
אבל בתוכנית השניה אני מקבל את הסיפרה 3 רק פעם אחד (זה טוב)
אבל שניהם מסתיימים ב12 , ובתוכניות השניה תא מספר 9 הוא 13 ולא 3 (וגם זה לא טוב)

מישהו יודע אולי מה הבעיות בתוכניות ולמה הם לא מציגות את אותם תוצאות ?


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  הבעיה לא בתוכנית Boaz_fr 20.02.05 10:25 1
     אבל תמיד המספר המיותר הוא המספר שבחרתי : theman  26.02.05 00:22 2

       
Boaz_fr

   10:25   20.02.05   
אל הפורום  
  1. הבעיה לא בתוכנית  
בתגובה להודעה מספר 0
 
   בC המספר הראשון במערך הינו 0
לכן שאתה מזין מערך מ0 עד 9 אתה קולט 9 מספרים ולא 8
ה"3" המיותר הוא פשוט מספר אקראי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
theman 
חבר מתאריך 22.3.02
1433 הודעות
   00:22   26.02.05   
אל הפורום  
  2. אבל תמיד המספר המיותר הוא המספר שבחרתי :  
בתגובה להודעה מספר 1
 
  

זה מוכיח שהוא לא אקראי..
זה אומר שיש בעיה לא ?


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

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

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



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