פורסם 2006 במאי 719 שנים איך אפשר לבדוק את המספר הזה למשל - 3060606ולהגיד אם יש לו שלוש ספרות שהם אותו הדבר ? 666 , 000בלי לעשות משתנה ליחידות , עשרות , מאות...איך עושים את זה?
פורסם 2006 במאי 719 שנים צור מערך עם 10 תאים (תא 0 עד תא 9), שהערך בכל תא הוא 0.ואז קח כל פעם את ספרת האחדות של המספר, ואם היא נגיד 9, אז תוסיף 1 לתא 9 במערך. ואז לבדוק את הספרה הבאה...כמובן שאחרי כל פעם שאתה לוקח את הספרת אחדות מהמספר, אז תמחק אותה משם.נגיד אם הספר היה 1337, אז אחרי הבדיקה הראשונה הוא יהיה 133, אחרי עוד בדיקה 13 וכן הלאה.בסוף התהליך פשוט תריץ בדיקה על המערך, וכל תא שבתוכו יש "3", תדפיס את מספר התא.
פורסם 2006 במאי 719 שנים וקצת יותר טכנית - המספר מודולו 10 ייתן לך את ספרת האחדות. לאחר מכן "תקצץ" את ספרת האחדות, ע"י חלוקת המספר ב-10 (ושמירת המספר החדש במספר הישן). כך תמשיך, עד שתקבל את המספר 0. כמובן, אל תספור את הספרה 0 הזאת בתור ספרה 0, אחרת יהיו לך טעויות אפשריות.
פורסם 2006 במאי 719 שנים וואי מאז שקראתי את התרד ועד שהספקתי לכתוב את התוכנית נוספו הרבה תגובות. אבל לא משנה הצלחתי לעשות משהו. מקווה שככה מותר:#include <stdio.h>#define LONG 10int main(){ char str[LONG]; int i,j; int count[10]; for(i=0;i<10;i++) count [i]=0; printf("Please enter a number.\n"); scanf("%s", str); printf("\n"); for(i=0;i<LONG;i++) for(j=0;j<10;j++) if(str[i]=='0'+j) count[j]++; for(i=0;i<10;i++) if(count[i]>=3) printf("The digit %d is shows 3 times or bigger.\n", i); printf("\n"); return 0;}
פורסם 2006 במאי 719 שנים מחבר חח לא למדתי .. מערכים ו - #defineCHARאז לא ממש הבנתי מה אמרתם..אבל אמרו לנו משהו עם חילוק , לעשות X%10 וזה ייתן יחידות או משהו כזה..
פורסם 2006 במאי 719 שנים אור, לא הבנתי, למה יש לך 2 לולאות שם ? אתה יכול להניח שהכל מספרים, וגם אם לא, לעשות IF פשוט, במקום 2 לולאות, שזה בזבוז.לפותח הדיון, קלוט את המספר לתוך משתנה INTEGERאחרי זה כל פעם תעשה % 10 לקבל את ספרת האחדות, ואת השאר המספר אתה מקבל ע"י / 10, וככה אתה ממשיך.אם לא למדת מערכים, אז השאלה היא בטח, האם 3 ספרות מופיעות ברצף אחד, לא ?
פורסם 2006 במאי 719 שנים מחבר , אז השאלה היא בטח, האם 3 ספרות מופיעות ברצף אחד, לא ?sdfzxcאבקש שתסביר את המשפט הזה
פורסם 2006 במאי 719 שנים הדבר הבסיסי בגישה לתרגיל, היא להבין במדיוק מה מבקשים ממך...למשל במספר 606060555 מה אמור להיות הפלט? (לפי מה שביקשו ממכם)
פורסם 2006 במאי 719 שנים מחבר הפלט:במספר יש שלוש ספרות זהות...(לדוגמה....)אה והם לא חייבות להיות ברצף אחד...
פורסם 2006 במאי 719 שנים צריך להגיד את כל המספרים האלו שמופיעים 3 פעמים, ולא למדתם מערכים, אז צריך לעשות משהו בזבזני בצורה של ה PSUDO CODE הבא:int your_number;for (int i=0;i<10;i++){int div = your_number / 10;int mod = your_number % 10;int cnt = 0;while (mod != 0){if (mod == i) cnt++;if (cnt == 3){printf("%d is shown 3 times atleast\n");break;}mod = div % 10;div = div / 10;}}כאשר שוב, זה קוד ב C, אבל לא בטוח שהוא ירוץ מושלם (סתם כתבתי). בגלל שאין פה שימוש במערך, שים לב שאנו עושים פה משהו די מבובז וסורקים את המספר המקורי 10 פעמים (בשביל כל ספרה).
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.