ערכתי לאחרונה בתאריך 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 כתבתי סוגרים מרובעות , רק כאן שיניתי כי לא רואים ברוטר סוגרים מרובעות
**בשורה האחרונה כתבתי את
בסוגריים מרובעות , רק כאן שיניתי כי לא רואים ברוטר סוגרים מרובעות
השניה :
#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 תאים מ0-8 יהיו עם מספר אקראי בתווח של 25 - 55 , לתא ה-9 נקלוט מספר ואז מהתא ה-10 ועד סוף המערך צריך שיהיו מספרים עוקבים (למשל קלטנו 3 , אז הבאים אחריו יהיה 4,5,6)
המטרה של שני התוכניות שווה .
אבל משום מה אני מקבל תוצאות שונות , הנה תמונות :
התוכנית הראשונה כאשר הקלט הוא 3 :

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

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