IOPanel

חזור   IOPanel > דבר חופשי > תוכנה ומערכות הפעלה > תיכנות
עמוד ראשי הירשם חיפוש הודעות מהיום סמן פורומים כנקראו

תיכנות פורום בנושאי תיכנות , פיתוח אתרים , שפות תיכנות , אפליקציות סלולר וטאבלטים.

תוכנה ומערכות הפעלה : תיכנות

עזרה בC# עם שני מערכים ~

מצטער, לא שמתי לב שהיתה דרישה של "לסדר את השליליים לפני החיוביים" הנה פתרון פשוט עם כלים מובנים של C#, ...
תגובה
 
קישור חוזר הגדרות אשכול אפשרויות הצגת נושא
ישן 15-10-09, 11:34   #16 (קישור ישיר)
IO Folding Team
 
סמל האישי של static
 
תאריך הצטרפות: Dec 2007
הודעות: 2,111
ברירת מחדל

מצטער, לא שמתי לב שהיתה דרישה של "לסדר את השליליים לפני החיוביים"

הנה פתרון פשוט עם כלים מובנים של C#, אבל בעצם זה לא עונה על הגדרת התרגיל שביקשו לפתח אלגוריתם בעצמך...

קוד:
            int[] a = { -1, 2, -3, 4 };
            Array.Sort(a);            
            foreach (int i in a) Console.Write(i + " ");
והנה הפתרון האמיתי והמקוצר

קוד:
            int[] a = { -1, 2, -3, 4 };
            int[] b = new int[a.Length];

            int countPos = 0;
            int countNeg = b.Length - 1;

            for (int i = 0; i < a.Length; i++)
            {
                if (a[i] < 0)
                {
                    b[countPos] = a[i];
                    countPos++;
                }
                else
                {
                    b[countNeg] = a[i];
                    countNeg--;
                }
            }
            foreach (int i in b) Console.Write(i + " ");
            Console.ReadKey();
אומנם הוספתי פה משתנה אבל עכשיו אנחנו עובדים רק עם לולאה אחת, ז"א שזמן הריצה של התוכנית התקצר חלקי 2, כי עוברים על ערכי המערך פעם אחת בלבד ולא פעמיים הרבה יותר יעיל.
(2 השורות בסוף שמודגשות הם סתם לצורך הדפסה על המסך של ערכי המערך.. אפשר למחוק אותם אם אין לך צורך בהם)
__________________
cpu: i7 920 D0| mobo: Gigabyte Ga-EX58-UD4P | mem: Mushkin Black Line 12GB 1600MHz 9-9-9-24 | gpu: PNY 670GTX | case: Antec P190 | psu: Antec neo-link 1200w |
hd: 1TB Samsung F1 + Intel SSD 120Gb 330 , 320GB WD AAKS | display: Samsung T240 24" | keyboard: Logitech Wave | mouse: Logitech MX Revolotion + G700 | Speakers: Logitech Z-5500

נערך לאחרונה על ידי static, 15-10-09 בשעה 11:43.
static לא מחובר   הגב עם ציטוט
ישן 15-10-09, 17:23   #17 (קישור ישיר)
IO Pro
 
תאריך הצטרפות: Feb 2009
הודעות: 1,083
ברירת מחדל

אפשר הסבר לפקודה הזאת:
foreach (int i in a) Console.Write(i + " ");
מה היא עושה?
אני רק לומד C# אז אני לא כ"כ יודע.
intenGer לא מחובר   הגב עם ציטוט
ישן 15-10-09, 20:06   #18 (קישור ישיר)
IO Member
 
תאריך הצטרפות: Aug 2007
הודעות: 435
שלח הודעה דרך MSN אל YosiAT
ברירת מחדל

אהבתי ממש את מה שעשיתה static וכל השאר
אני אשתמש בשל static כי הוא היה לי הכי מובן,ד"א הגשתי כבר את התרגיל כמו שהראתי לכם..

intenGer,תראה הוא הישתמש כאן במשפט foreach , שעובר על כל איבר במערך.
לדוג' יש לי מערך בשם peoples מסוג string ,והתוכן שלו זה שמות של אנשים
והמטרה שלי היא להדפיס את כל השמות של האנשים איך אני אעשה את זה עם foreach ככה=>

קוד:
            foreach (string peopleName in peoples)
            {
                Console.WriteLine(peopleName);
            }
אבל המורים אוהבים שאנחנו משתמשים בלולאת for על מנת לעבור על כל האיברים שיש במערך.
YosiAT לא מחובר   הגב עם ציטוט
ישן 15-10-09, 21:33   #19 (קישור ישיר)
IO Folding Team
 
סמל האישי של static
 
תאריך הצטרפות: Dec 2007
הודעות: 2,111
ברירת מחדל

ציטוט:
פורסם במקור על ידי intenGer צפה בהודעה
אפשר הסבר לפקודה הזאת:
foreach (int i in a) Console.Write(i + " ");
מה היא עושה?
אני רק לומד C# אז אני לא כ"כ יודע.

תסתכל על ההסבר ש- YOSIAT נתן, הוא הסביר את זה מצויין.

בכל אופן אני שמח שהסתדר והבנת את הפתרון שלי, בהתחלה לא ממש קראתי את הדרישות אז לא יצא טוב...
__________________
cpu: i7 920 D0| mobo: Gigabyte Ga-EX58-UD4P | mem: Mushkin Black Line 12GB 1600MHz 9-9-9-24 | gpu: PNY 670GTX | case: Antec P190 | psu: Antec neo-link 1200w |
hd: 1TB Samsung F1 + Intel SSD 120Gb 330 , 320GB WD AAKS | display: Samsung T240 24" | keyboard: Logitech Wave | mouse: Logitech MX Revolotion + G700 | Speakers: Logitech Z-5500
static לא מחובר   הגב עם ציטוט
ישן 15-10-09, 21:36   #20 (קישור ישיר)
IO Pro
 
תאריך הצטרפות: Feb 2009
הודעות: 1,083
ברירת מחדל

הבנתי, תודה

ד"א static, פתרון יפה הבאת שם :]
intenGer לא מחובר   הגב עם ציטוט
תגובה


הגדרות אשכול
אפשרויות הצגת נושא

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

vB code הינו פועל
סמיילים הינו פועל
קוד [IMG] הינו פועל
קוד HTML הינו כבוי
Trackbacksהינו פועל
Pingbacks הינו פועל
Refbacks הינו פועל

נושאים דומים
אשכול מפרסם האשכול פורום תגובות הודעה אחרונה
עזרה קטנה עם לימודי מחשבים, יותר עצה מאשר עזרה ZipoX מחשבים ומה שמסביב 4 07-09-09 18:23
חייב עזרה בבחירה בין שני מערכים asi2k5 כרטיסי מסך 7 08-04-08 7:09
[עזרה]צריך עזרה עם ה-OC.. הזיכרון מגביל אותי :( kobi45 אוברקלוקינג 13 30-09-07 15:54
[עזרה] קניתי כבל לחיבור המחשב לטלוויזיה ואני צריכה עזרה. yolia1111 תמיכה טכנית 14 23-07-07 1:18
[עזרה] צריך עזרה לגבי מפרט מחשב+בחירת מארז *התקציב: 5.5K! Almog Design מפרטי מחשב 145 27-06-07 16:54


כל הזמנים הם GMT +3. השעה כרגע היא 11:36.





מופעל על ידי: vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO
IOPanel.net © כל הזכויות שמורות