לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי         אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #2  
ישן 06-10-2008, 20:29
  eXeCuTeR+ eXeCuTeR+ אינו מחובר  
 
חבר מתאריך: 19.10.07
הודעות: 65
בתגובה להודעה מספר 1 שנכתבה על ידי sivan1233210 שמתחילה ב "#C - עיצוב תכנה"

קודם כל, תשתמשי בהזחות - לא נוח לקרוא קוד שנראה בצורה הזו.
לסעיף א', מה שאני אעשה זה פשוט אצור אובייקט של Random ובכל איטרציה אקרא לr.Next(0, 21);
קוד:
Random rnd = new Random(); for (int i = 0; i < NUM_OF_BUCKETS; i++) buckets[i].Fill(rnd.Next(0, 21)); // יגריל מספר בין 0 ל20


לסעיף ב', הוא קצת יותר מורכב.
מה שתצטרכי לעשות זה פעולה שתחזיר לך את המקסימום (או שבכדי לחסוך בלולאה הזו, פשוט תבצעי את זה בלולאה של סעיף א') בצורה הבאה:
קוד:
int max = 0, temp = 0; // 0 is the lowest value Random rnd = new Random(); for (int i = 0; i < NUM_OF_BUCKETS; i++) { if(max < (temp = rnd.Next(0, 21)) // שימי לב שאני גם מציב ערך לtemp פה, שלא תתבלבלי max = temp; buckets[i].Fill(temp); } // some code....(now all of our buckets are filled with random values between 0 to 20) for(int i = 0; i < NUM_OF_BUCKETS; i++) buckets[i].Fill(max);


בהצלחה.

נערך לאחרונה ע"י eXeCuTeR+ בתאריך 06-10-2008 בשעה 20:38.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #3  
ישן 07-10-2008, 05:10
  sivan1233210 sivan1233210 אינו מחובר  
 
חבר מתאריך: 29.09.08
הודעות: 114
בתגובה להודעה מספר 2 שנכתבה על ידי eXeCuTeR+ שמתחילה ב "קודם כל, תשתמשי בהזחות - לא..."

בס"ד

זה לא טוב.
זה ממלא לי את כל הדליים בצורה אקראית כמו שאני רוצה אבל אח"כ זה תסתם ממלא את כל הדליים עעד הסוף.

using System;
using System.Collections.Generic;
using System.Text;
using Unit4.BucketLib;
namespace CSharp_Chap2_wp3_1
{
// פתרון לפרק עצמים דף עבודה 3 דלי גרפי שאלה 1

public class GraphicBucket1
{
public static void Main(string[] args)
{
const int NUM_OF_BUCKETS = 5;
const int CAPACITY = 20;
Random rnd = new Random();
int max = 0, temp = 0; // 0 is the lowest value
Bucket[] buckets = new Bucket[NUM_OF_BUCKETS];
for (int i = 0; i < NUM_OF_BUCKETS; i++)
buckets[i] = new Bucket(CAPACITY, "Bucket " + i);
for (int i = 0; i < NUM_OF_BUCKETS; i++)
{
if(max < (temp = rnd.Next(0, 21)))
max = temp;
buckets[i].Fill(temp);
}
for(int i = 0; i < NUM_OF_BUCKETS; i++)
buckets[i].Fill(max);
}

}
}


אני מצטערת אני לא יודעת איך עושים זה יהיה כמו קוד.
תודה על העזרה
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 10-10-2008, 13:49
  sivan1233210 sivan1233210 אינו מחובר  
 
חבר מתאריך: 29.09.08
הודעות: 114
בתגובה להודעה מספר 7 שנכתבה על ידי eXeCuTeR+ שמתחילה ב "[quote] זה ממלא לי את כל..."

ציטוט:
במקור נכתב על ידי eXeCuTeR+
סביר להניח שהRandom הכי גבוה היה 20 באמת ולכן כולם מלאים עד הסוף.

ב2 לולאות נפרדות זה פשוט למלא שוב את הBucketים עם ערכים רנדומאלים, אח"כ לעבור עם 2 לולאות ולחפש את הmax ולמלא את כולם עם הערך שמצאת.

איפה הקוד שאת כתבת?








בס"ד




לא . הRandom הכי גבוה היה פחות מ - 20
וגם שזה ממלא אחרי זה שוב זה ממלא את כולם לא אותו דבר והרי אם יש דלי אחד הכי גבוה אז כולם אחרי זה צריכים להיות אותו דבר וזה עושה איך שבא לו שונה כולם .



תראה הקוד שאני כתבתי לפי מה שאתה אמרת לי זה זה :

קוד:
using System; using System.Collections.Generic; using System.Text; using Unit4.BucketLib; namespace CSharp_Chap2_wp3_1 { // פתרון לפרק עצמים דףעבודה 3 דלי גרפי שאלה 1 public class GraphicBucket1 { public static void Main(string[] args) { const int NUM_OF_BUCKETS = 5; const int CAPACITY = 20; Random rnd = new Random(); int max = 0, temp = 0; // 0 is the lowest value Bucket[] buckets = new Bucket[NUM_OF_BUCKETS]; for (int i = 0; i < NUM_OF_BUCKETS; i++) buckets[i] = new Bucket(CAPACITY, "Bucket " + i); for (int i = 0; i < NUM_OF_BUCKETS; i++) { if(max < (temp = rnd.Next(0, 21))) max = temp; buckets[i].Fill(temp); } for(int i = 0; i < NUM_OF_BUCKETS; i++) buckets[i].Fill(max); } } }

והקוד שניסיתי לעשות את זה בשתי לולאות נפרדות זה זה :








[CODE]

using System;
using System.Collections.Generic;
using System.Text;
using Unit4.BucketLib;


namespace CSharp_Chap2_wp3_1
{
//
פתרון לפרקעצמים דף עבודה 3 דלי גרפי שאלה 1


public class GraphicBucket1
{
public static void Main(string[] args)
{
const int NUM_OF_BUCKETS = 5;
const int CAPACITY = 20;
Random rnd = new Random();
int max = 0;
Bucket[] buckets = new Bucket[NUM_OF_BUCKETS];
for (int i = 0; i < NUM_OF_BUCKETS; i++)
buckets[i] = new Bucket(CAPACITY, "Bucket " + i);
for (int i = 0; i < NUM_OF_BUCKETS; i++)
buckets[i].Fill(rnd.Next(0, 21)); //
יגריל מספר בין 0ל20
for (int i = 0; i < NUM_OF_BUCKETS; i++)
{
if (buckets[i] > max)
max =buckets[i];

}


for (int i = 0; i < NUM_OF_BUCKETS; i++)
buckets[i].Fill(max);
}


}
[/CODE]







הבעיה בקוד הראשון זה מה שאמרתי לך למעלה למעלה.
הבעיה בקוד השני שזה מסמן לי את שתי השורות האלה כשגיאה:
if (buckets[i] > max)
max =buckets[i];


בכל אופן אני אעדיף שזה יהיה בלולאות נפרדות כמו בקוד השני אבל עדיין זה עושה שגיאה ואני לא מבינה למה ?


תודה רבה על העזרה !!!!!



שבת שלום

נערך לאחרונה ע"י sivan1233210 בתאריך 10-10-2008 בשעה 13:55.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 15:15

הדף נוצר ב 0.18 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2020 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר