עזרה בפתרון חידהבן מערבא

צריך למצוא את המספר הגדול ביותר הכולל כל אחת מהספרות 0-9 פעם אחת בדיוק המתחלק ב- 11 ללא שארית. 

 

אפשר לפתור את זה (אולי אפילו יותר בקלות) באמצעות חקירה מתמטית אבל אני רוצה לנסות את זה (גם) בתור תרגיל תכנות. 

 

הרעיון שלי בגדול זה להתחיל מהסוף להתחלה, כלומר לבדוק האם 9876543210 מתחלק ב- 11 ? 

 

אם כן, להכריז עליו ולסיים. אם לא, לבדוק את 9876543201. אם כן, להכריז עליו ולסיים. אם לא, לבדוק את 9876543120 וכן על זה הדרך. 

 

הבעיה שלי היא שאני לא יודע איך יוצרים את הסדר הזה ? האם לשם הפתרון אני צריך להשתמש במערכים ? (למדתי את זה בצורה שטחית לפני המון זמן. ואם כן אלמד את זה מחדש.  מה שבכל מקרה אני מתכוון לעשות בע״ה בהמשך). למישהו יש אולי רעיון אחר יותר יעיל ? אשמח אם אפשר שזה יהיה ב Java. 

עשיתי משהו שונה.אליסף א

ב"ה

 

מצאתי את כל המיספרים מהסוג הזה (אורך של 10 ספרות ללא חזרה ספרות, ) וחליקתי את כולם ב 11.

 

וכן, צריך מערכים בשביל זה.

 

קוד מצורף ב C#

 

private void GetAllNumbers()
        {
            List<long> selctetNumbers = new List<long>();
            bool[] array = new bool[10];
            long max = 9876543210;
            DateTime dateTime = DateTime.Now;
            for (long i = 123456789; i < max; i++)
            {
                if (AllDigita(array, i))
                    selctetNumbers.Add(i);

                if (i % 1000000 == 0)
                {
                    Console.WriteLine($"{i}: {(DateTime.Now - dateTime).TotalSeconds}");
                }
            }
            Console.WriteLine((DateTime.Now - dateTime).TotalSeconds);
            //log selctetNumbers
            var numAssArr = selctetNumbers.ToArray();
            StringBuilder sb = new StringBuilder();
            StringBuilder sbfinals = new StringBuilder();

            for (long ii = 0; ii < selctetNumbers.Count; ii++)
            {
                sb.AppendLine(numAssArr[ii].ToString());
                if (numAssArr[ii] % 11 == 0)
                    sbfinals.AppendLine(numAssArr[ii].ToString());

            }
            File.WriteAllText("selctetNumbers.csv", sb.ToString());
            File.WriteAllText("finalsNumbers.csv", sbfinals.ToString());
        }
        private bool AllDigita(bool[] array ,long i)
        {
            long num = i;
            Array.Clear(array, 0, array.Length);
            while(i > 0)
            {
                long digit = i % 10;
                if (array[digit])
                    return false;
                array[digit] = true;
                i /= 10;
            }
            if (!array[0] && num < 1000000000)
                array[0] = true;
            for (int j = 0; j < array.Length; j++)
            {
                if (!array[j])
                    return false;
            }
            return true;
        }

יצא מכוער , מוסיף צילום מסךאליסף א

 

 
 
                                                               

 

 

תודה על ההשקעהבן מערבא

אמנם אני לא מבין את השפה הזאת, רק מה שאני מצליח לזהות על סמך הדמיון ל- java אבל אני מנסה להבין את הרעיון בעיקרון. 

 

אתה רץ על כל המספרים בין 1023456789 לבין 9876543210 ובודק אותם אחד אחד ולא רק את המספרים בעלי התבנית הדרושה ? 

 

 

נראה לי שאעבור על זה עוד פעם אחרי שאלמד מערכים. 

זאת #Cאנונימי (2)

אין הבדלים משמעותיים במיוחד, אבל הוא השתמש בספריות ועוד שפחות מתאימות למתחילים.

אני עובר על כל המספריםאליסף א

ב"ה

 

מהמספר הראשון הרלוונטי (0123456789)

עבור כל מספר אני בודק האם הוא בתבנית, (זו הפונקצייה בשם AllDigita, שם אני בודק סיפרה סיפרה)

אם המספר שייך לתבנית - אני שם אותו בצד (ברשימה מקושרת (תלמד על זה בהמשך)).

 

אחרי שסיימתי את המעבר הזה (כמה דקות ריצה) - אני עובר על כל המספרים שאספתי - ובודק אחד אחד האם הם

מתחלקים ב 11 ללא שארית. את התוצאה הזו אני שומר כותב לאובייקט שבונה טקסטים (מחרוזות)

 

בסוף ,את הכל אני כותב לקובץ CSV (קובץ שניתן לקריאה באקסל)

 

 

אפשר בדרכים רבותאנונימי (2)

הדרך הפשוטה יותר כנראה היא עם integer. פשוט להגדיר משתנה עם המספר הגבוה ביותר, לבדוק האם השארית שלו בחילוק עם 11 שווה, אם כן להחזיר את המספר (ובעצם לסיים את התוכנית) ואם לא להחסיר את המשתנה ב1 (x--).

נו. זה בדיוק מה שהצעתי. השאלה היא איך עושים את זה בפועל ?בן מערבא

אפילו בלי לרדת לפרטים הקטנים. 

יותר בפועל מזה זה לכתוב את הקודאנונימי (2)
 
המספר הזה גדול מהמקסימום של INT ולכן בחרתי בLONG. משום מה הקומפיילר לא נתן לי להציב את המספר בשלמותו, ולכן הכפלתי אותו ב10. אין לי כח לבדוק למה זה.. פחות משנה בשביל השאלה.
תודה. אבל איפה פה בדיוק אתה בודק ש-numberבן מערבא

הוא מהתבנית הדרושה ? נניח שיצא לך שהוא מתחלק ב-11. אבל אם הוא לא מהתבנית הדרושה, מה עשינו כאן ? 

 

בעצם הרי לבדוק את הנקודה הזאת זה הקושי העיקרי. 

קראתי שוב את מה שכתבתאנונימי (2)
ועכשיו הבנתי על מה אתה מדבר. נכון, בשביל זה הכי חכם להשתמש במערכים, ולעשות לולאה מקוננת.
בלולאה הפנימית להחליף בכל פעם את המספר הנוכחי עם ההבא אחריו, ובלולאה החיצונית לעבור למספר הבא.
אכתוב כשאהיה ליד מחשב בע"ה.
סבבה. תודהבן מערבא

כבר עזרתם לי בזה שעכשיו כשאני יודע שצריך מערכים בשביל זה, אחכה עם הניסיון לפתור את זה עד שאלמד מערכים. 

לא בטוח שזה מושלם, אבל זה הרעיוןאנונימי (2)

אגב, הוא לא ממש יעיל, אבל במספרים כאלו זה לא משנה כ"כ.

הרצת את זה ? זה עובד ?בן מערבא


פתרון בדרך מתמטית למי שזה מעניין אותובן מערבא

 

הרעיון הוא להשתמש במבחן ההתחלקות הבא לחלוקה ב-11: 

 

 
שזה שקול לבדיקה כי סכום הספרות במקומות האי זוגיים פחות סכום הספרות במקומות הזוגיים מתחלק ב-11. 
 
אם נתחיל עם 9876543210 עלינו לבדוק את ההפרש בין (9+7+5+3+1) לבין 8+6+4+2+0 שזה שווה ל-5 
נשים לב שכל מעבר של ספרה מצד לצד מוריד את מכפלת הספרה ב-2 או מעלה במכפלת הספרה ב-2. 
לכן אין טעם לחפש שההפרש יהיה אפס אלא נחפש שההפרש יהיה 11, וכדי שהמספר יישאר גדול ככל האפשר נשתדל שהתזוזות יהיו של הספרות היותר קטנות. אנו מחפשים אם כן מעברים שיעלו את ההפרש ב-6. 
בדיקה קצרה מובילה למסקנה שהחלפת צדדים של 1 ו- 4 מעלה את ההפרש ב-6 כדרוש. 
אבל החלפה ישירה של 4 ו-1 היא לא צעד נכון כי צריך רק להעביר אותם מאינדקס זוגי לאי זוגי ולהיפך. 
מכאן קל להגיע למסקנה כי המספר הדרוש הוא 9876524130. 
 
ועכשיו אחרי שלמדתי מערכים אני מוכן בע״ה לפתור את זה גם בדרך של תכנות. 
פתרון בדרך של תכנות - אשמח לעזרהבן מערבא

 

אני מצרף את הניסיון שלי לפתרון. אין לי שגיאות תחביריות אבל בין אם אני מריץ את זה באייפד ובין אם אני מריץ את זה על המחשב הוא חושב בלי סוף ולא מגיע לתשובה הנכונה. 

בהתחלה הצבתי num = 987654321 וכדי לשלול את האפשרות שהוא מסתבך בגלל יותר מדי חישובים הקלתי עליו והצבתי 

Num = 987652146 כאשר הציפייה שלי ממנו שבתום 3 סיבובים של ריצה יחזיר לי את num = 987652413 

אבל שוב הוא נכנס להרהורים אקזיסטנציאליים עמוקים ולא נותן לי תשובה, משמע שאני לא יוצא מהלולאה בצורה נכונה.  

יש לציין שפירקתי לחתיכות את השלב של חיתוך ספרות המספר והכנסתם למערך ואת השלב של הבדיקה האם המספר הוא מהתבנית הדרושה והם עובדים בסדר. הבעיה היא כאשר אני מנסה לשלב את שתי החלקים האלה ונתקע בלולאה. אשמח לחילוץ. (אגב. אני מתעלם מהאפס בבדיקה שלי כי גם בזה הוא עשה לי בעיות בכך שהמספר גדול מדי. אבל זה לא משנה באמת את הפתרון)

 

ככול הנראה נגרם מהתנאי השני של הwhile הפנימיאנונימי (2)

בגלל שהם שווים הלולאה לא נגמרת

אתה מתכוון לשורה 29 ?בן מערבא


נכוןאנונימי (2)


אבל בהסתכלות שניה, יכול להיות ממקומות נוספיםאנונימי (2)

לא בטוח כרגע

כמו שאמרתי. בדקתי את הרכיבים של התוכנית בפני עצמםבן מערבא

 

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

 

הבעיה כנראה איכנשהו בלולאה הראשית

נסה להחליף את ה || בראשית ל&&אנונימי (2)
לאיזה תנאי ׳גם׳ בדיוק להחליף את זה ?בן מערבא

הרי כרגע השלילה של התנאי הזה שדורשת שגם flag == true וגם num %11 ==0 זה בדיוק התנאי שאני מחפש כדי לעצור את הלולאה. כלומר, שגם המספר יתחלק ב-11 וגם יכיל את כל הספרות 1-9. 

 

 

תודה על הניסיון לעזור

לא בטוח שהבנתיאנונימי (2)
אתה מחפש גם וגם. || זה או או, && זה גם וגם.
הרי כדי לצאת מהלולאה ולהכריז על num המבוקשבן מערבא

 

דרוש שתתקיים השלילה של התנאי שגורם ללולאה לרוץ, לא ? 

 

 

והשלילה של flag == false || (num % 11 != 0) zz זה flag == true && num % 11 == 0 שזה בדיוק מה שאני מחפש כדי לצאת מהלולאה, לא ככה ?

תשנה, תריץ, ותראה שתקבל 987652413אנונימי (2)

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

כן. אבלבן מערבא

אתה צודק. אכן קיבלתי 987652413 אבל ברגע שתיקנתי את num להיות 987654321 (כזכור. הצבתי 987652416 רק כדי לשלול את האפשרות שהוא נתקע בגלל עודף חישובים) אני מקבל 

987654316

 

שזאח תוצאה שגויה...

 

שיניתי את || פשוט ל- && לזה התכוונת כן ? 

נכוןאנונימי (2)

זו לא תשובה נכונה?

כמובן שלא. היא מכילה את הספרה 6 פעמיים.בן מערבא


מצרף את הקוד אולי יוכל לעזורבן מערבא

public class DividingTest
{

    public static void main(String args[])
    {
        int num = 987652416;
       boolean flag = false;
        
        while (flag == false || (num % 11 != 0) )
             {
                 int[] digits = new int[9];
                 
               for (int i = 8 ; i >= 0 ; i--) // מפצל את המספר לספרות ומכניס אותם למערך
                {
                   
                 int copy = num ;
                 digits[i] = copy % 10 ;
                 copy = copy / 10 ;
                } 
               
                 int difdigits = 1 ; // יש לפחות ספרה אחת במערך
               
                for (int j = 1 ; j <= 8 ; j++) // בודק כמה ספרות שונות יש במערך
                   {

                    int k = 0 ;
                   
                       while (k < j && digits[j] != digits[k])
                     {
                            k++;
                     }
                     
                     if (k == j)
                         difdigits++;
                  }
                  
                  if (difdigits == 9)
                     flag = true;
                     
                     num--;
                     
               } 
               
               System.out.println(num);
               
    }
}

הצלחתי !!בן מערבא
 

כבר חשבתי לוותר, אבל התעקשתי וזה השתלם. 

 

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

 

 
אנונימי (2)
תודה על התמיכהבן מערבא


בכיף. רק דרך התקלות מתקדמיםאנונימי (2)
עוד חידה שפתרתי בעזרת (וריאציה על) התוכנית הזאתבן מערבא
 
כדי לפתור את החידה הזאת בעזרת חקירה מתמטית יש לשים לב שהשורה השנייה היא מספר זוגי כי היא כפולה ב- 2 של השורה הראשונה, לכן הספרה האחרונה שלה, כלומר, הספרה במקום 2,3 היא 2/4/6/8. 
השורה השלישית היא כפולה ב- 3 של השורה הראשונה לכן היא מתחלקת ב- 3. וכידוע מספר מתחלק ב - 3 אמ״ם סכום ספרותיו מתחלק ב- 3. שילוב של שתי הטענות האלה מצמצם את מספר האפשרויות שיש לבדוק מ- 9 עצרת לכמה עשרות אפשרויות. אבל האידאולוגיה שלי אומרת שעבודה שחורה היא הייעוד של מחשבים ולא של בני אדם, ולכן, וגם כדי לתרגל עוד קצת תכנות רציתי לכתוב תוכנית שתפתור את זה. 
 
בהתחלה הייתי די נבוך, כי אמנם למדתי על מערכים ריבועיים, אבל לא היה לי מושג איך לרוץ בלולאה על תשע עצרת האפשרויות שצריך לבדוק. חשבתי לעצמי שזה מסובך מדי והטרחה והמורכבות לא שווים את זה. אבל אז עלתה לי התובנה שאם אשנה את הייצוג של החידה ממטריצה ריבועית למערך חד מימדי עם 3 מקטעים של 3 התוכנית שכתבתי עבור החידה הקודמת מתאימה לזה כמעט בול, מלבד כמה שינויים קטנים. 
 
והנה התוצאה ועוד הערה מעניינתבן מערבאאחרונה
 
אחת התוצאות שם מיותרת כי היא אמנם מכילה 9 ספרות שונות אבל אלה הספרות 0-8 ולא 1-9. 
כדי לנפות את האפשרות הזאת הוספתי בשורה 30 בתוכנית שלי את הקוד &&digits [k] ! = 0 
אבל התוספת הזאת כנראה היתה יותר מדי עבור האפליקציה באייפד שלי וקיבלתי שגיאת ריצה לפיה לתוכנית לוקח יותר מדי זמן. לעומת זאת כשהוספתי את הקטע קוד כשהרצתי את התוכנית על מחשב זה עבד כמו שצריך וניפה את התוצאה עם הספרה 0 כדרוש. 
זורקת רעיוןאנונימי (3)
למצוא את המספר הגדול ביותר שמתחלק ב11 הקטן מ9876543210 ואז לבדוק שכל ספרה בו נמצאת פעם אחת, אם לא, להוריד 11 עד שמגיעים למספר הקטן מ123456789
מישהו יכול לבדוק את הקוד הזה? בפייתוןאדיר לוייי

זה צריך להיות לתוכנה שמתרגמת שמות קבצים ומסדרת אותם

נעשה עם gpt

לטענתה הכל מושלם ןיציב אבל רוצה לשמוע שזה עבד מושלם בפועל

זה הקוד:


import os

import json

import shutil

import re

from pathlib import Path

from PySide6.QtWidgets import (

   QApplication, QWidget, QVBoxLayout, QPushButton,

   QFileDialog, QTableWidget, QTableWidgetItem, QMessageBox

)

from PySide6.QtCore import Qt


BASE_DIR = Path(__file__).parent

ARTISTS_FILE = BASE_DIR / "artists.json"

UNDO_FILE = BASE_DIR / "undo_log.json"


# ---------- Utils ----------


def load_artists():

   if ARTISTS_FILE.exists():

       with open(ARTISTS_FILE, "r", encoding="utf-8") as f:

           return json.load(f)

   return {}


def save_artists(data):

   with open(ARTISTS_FILE, "w", encoding="utf-8") as f:

       json.dump(data, f, ensure_ascii=False, indent=2)


def clean_name(name):

   name = re.sub(r"[_\-\.]", " ", name)

   name = re.sub(r"[\"\'`]", "", name)

   name = re.sub(r"\s+", " ", name)

   return name.strip()


def transliterate_hebrew(text):

   table = {

       "א": "a", "ב": "b", "ג": "g", "ד": "d", "ה": "h",

       "ו": "v", "ז": "z", "ח": "ch", "ט": "t",

       "י": "i", "כ": "k", "ל": "l", "מ": "m",

       "נ": "n", "ס": "s", "ע": "a", "פ": "p",

       "צ": "tz", "ק": "k", "ר": "r", "ש": "sh",

       "ת": "t", "ך": "k", "ם": "m", "ן": "n",

       "ף": "f", "ץ": "tz"

   }

   return "".join(table.get(c, c) for c in text)


# ---------- Main App ----------


class TuneMaster(QWidget):

   def __init__(self):

       super().__init__()

       self.setWindowTitle("TuneMaster – Safe Rename")

       self.resize(800, 500)


       self.layout = QVBoxLayout(self)


       self.btn_select = QPushButton("בחר תיקייה")

       self.btn_execute = QPushButton("בצע שינויים")

       self.btn_undo = QPushButton("בטל שינויים")


       self.table = QTableWidget(0, 3)

       self.table.setHorizontalHeaderLabels(["מקור", "חדש", "נתיב מלא"])

       self.table.horizontalHeader().setStretchLastSection(True)


       self.layout.addWidget(self.btn_select)

       self.layout.addWidget(self.table)

       self.layout.addWidget(self.btn_execute)

       self.layout.addWidget(self.btn_undo)


       self.btn_select.clicked.connect(self.select_folder)

       self.btn_execute.clicked.connect(self.execute)

       self.btn_undo.clicked.connect(self.undo)


       self.preview = []

       self.artists = load_artists()


   def select_folder(self):

       folder = QFileDialog.getExistingDirectory(self, "בחר תיקייה")

       if not folder:

           return


       self.preview.clear()

       self.table.setRowCount(0)


       for root, _, files in os.walk(folder):

           for f in files:

               path = Path(root) / f

               stem = path.stem

               ext = path.suffix


               clean = clean_name(stem)


               new_name = None

               for he, en in self.artists.items():

                   if he in clean:

                       new_name = clean.replace(he, en)

                       break


               if not new_name:

                   new_name = transliterate_hebrew(clean)


               new_full = new_name + ext

               if new_full != f:

                   self.preview.append((path, path.with_name(new_full)))


       for old, new in self.preview:

           row = self.table.rowCount()

           self.table.insertRow(row)

           self.table.setItem(row, 0, QTableWidgetItem(old.name))

           self.table.setItem(row, 1, QTableWidgetItem(new.name))

           self.table.setItem(row, 2, QTableWidgetItem(str(old)))


   def execute(self):

       if not self.preview:

           return


       undo_data = []

       for old, new in self.preview:

           if new.exists():

               continue

           shutil.move(str(old), str(new))

           undo_data.append({"from": str(new), "to": str(old)})


       with open(UNDO_FILE, "w", encoding="utf-8") as f:

           json.dump(undo_data, f, indent=2, ensure_ascii=False)


       QMessageBox.information(self, "בוצע", "השינויים בוצעו בהצלחה")


   def undo(self):

       if not UNDO_FILE.exists():

           QMessageBox.warning(self, "אין", "אין מה לבטל")

           return


       with open(UNDO_FILE, "r", encoding="utf-8") as f:

           undo_data = json.load(f)


       for item in undo_data:

           if Path(item["from"]).exists():

               shutil.move(item["from"], item["to"])


       UNDO_FILE.unlink()

       QMessageBox.information(self, "בוטל", "כל השינויים בוטלו")


# ---------- Run ----------


if __name__ == "__main__":

   app = QApplication([])

   win = TuneMaster()

   win.show()

   app.exec()

מצחיקנקדימון
אתה מודע לזה שאין סיכוינפשי תערוג

שמישהו עם ראש על הכתפיים יריץ קוד שמישהו אחר כתב.

נכון?


לא הבנתי מה הבעיה שלך להריץ אותו.

תוריד vc code ותריץ

ומעבר לזהמבולבלת מאדדדד
בפייתון הרווחים קריטיים.


אני לא חושבת שלהעתיק מפה יעבוד. 

אתה לא צריך אותנוultracrepidam

תכתוב "run python online" ותראה אופציות להרצה.

 

ואם אתה רוצה ממש להשקיע תוריד את התוכנות הנדרשות ותריץ עצמאית

זה לא יעבוד עם online pythonנפשי תערוגאחרונה

כי הוא צריך לעבוד עם קבצים

ואיך הוא יראה שינוי בשם הקובץ?

משרה ממשלתיתאונמר

כן או לא?

יתרונות חסרונות?

אין לי מושג מה זה אומר ואשמח לכל מידע שיש לכם.

בנוסף - כמה אני אמורה להגיד ציפיות שכר, אם אני ניגשת למכרז - יש לי 3 שנים ניסיון full stack.

 

תודה לכם🙏

העסקה ישירה או דרך מיקור-חוץ? אם העסקה ישירה, האםפ.א.

בחוזה אישי או הסכם עבודה קיבוצי? יש ועד עובדים?

 

משכורת גלובלית או לפי שעון נוכחות?
 

יש מאפיינים שונים להעסקה במשרה ממשלתית.  


 

התנאים במשרד החנוך אינם התנאים במשרד הביטחון, למשל.  

הייאונמר

מיקור חוץ.

מאמינה שלפי שעון נוכחות.

דרך מיקור חוץ השכר גבוה מאשר עובדי מדינה באותו תפקפ.א.

תפקיד.  


השכר הגבוה יותר מגלם את הזכויות והתנאים העודפים שיש לעובדים בקביעות באותו מקום.  


בתפקידי תכנות, הנדסה, מערכות מידע - השכר במיקור חוץ יכול להיות מאוד טוב.  


החסרון הבסיסי והגדול - חוץ מהשכר, אין שום תנאים נלווים שווים.  


ההעסקה דרך מיקור חוץ במשרה ממשלתית - לברר בזמן הצגת הצעת השכר האם המשרה והשכר נמצאים תחת מגבלת מכסת שעות שנתיות של המעסיק.  

לדוגמה האם זה לפי ממוצע 180 שעות בחודש כפול 12 חודשים, 2160 שעות שנתיות.  


אם זה כך באותה משרה, ביצוע שעות נוספות אומנם מקפיץ מאוד את השכר מאוד באותו חודש, באלפי שקלים אפילו, אך השעות הנוספות אוכלות מהעוגה השנתית של מכסת השעות ויתכן שהמכסה של 2160 שעות, מהדוגמה, יאזלו חודש לפני סוף השנה או שבועיים לפני, ואז צריך לשבת בבית עד לתחילת שנת התקציב הבאה של אותו משרד ממשלתי.  

אוקיי. תודה רבה!!אונמראחרונה
אני לא מבין בשכר בממשלהמשה

בגדול, זה נחשב מקומות עבודה יציבים יותר שמשלמים פחות.

תודה!אונמר
קוד לcmdפצל"פ

מישהו יכול לכתוב לי פה קוד לcmd (אני הולך לשמור אותו כקובץ bat בתיקייה הרלוונטית במחשב) שיהפוך את כל הסיומות של הקבצים שנמצאים בתיקייה של הסקריפט לאותיות גדולות?


למשל יש לי בתיקיה קבצים בשם

דוגמהא.rtf

דוגמהב.zip

ודוגמהג.doc


אחרי הקוד זה צריך להיראות ככה

דוגמהא.RTF

דוגמהב.ZIP

ודוגמהג.DOC


זה ממש יעזור לי

תודה רבה!

יהיה לך לדעתי יותר קל עם powershellמשה

בכיוון הזה

How to convert the content of the file into uppercase or lowercase?

 

במקרה הזה אתה בעברית אז לא צריך לפצל את הסיומת.

תודה!פצל"פאחרונה

רק לא כ"כ הבנתי מה שכתבת אחרי הקישור

וגם הוא מדבר שם (לפחות מה שאני הבנתי) על להמיר תוכן של קובץ, איך עושים את זה לשמות הקבצים? או שזה פשוט תוכן הקובץ של התיקיה הגדולה?

מדריך React Memongfxp

היי חברים, רציתי לעדכן שהעלתי סרטון חדש לYouTube - מדריך React Memo

Memo היא פונקציה (HOC) שמאפשרת לנו לדלג על רינדורים חוזרים של קומפוננטה כאשר הProps של הקומפוננטה לא משתנים

קישור לסרטון:

 

מה דעתכם?

איזה נושא תרצו את הסרטון הבא?

יש משהו דומה גם בVUE. יצא לי להשתמש בומשה
מה שם הפיצ'ר המקביל ב Vue?zoharelias
V-memoמשהאחרונה
Apiאפרת???

היי, אני צריכה ייעוץ דחוף ממי שמבין בזה.

אשמח לדבר בפרטי

API -+ ממשק המאפשר גישה תכנותית לספריה/תוכנה11111

זה יכול להיות יותר מידי דברים,

רצוי שתשאלי פה את השאלה על מנת שאחרים יוכלו להעזר בשאלה גם אחרים,

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

מה בדיוק צריכה ?Adi alon

יכולה להיכנס לכאן לקרוא יש כמה הסברים בנושא :

 

שיווק דיגיטלי - בלוג מקצועי בעולמות השיווק | A-WEB

 

בטח מאוחר מדימשהאחרונה

אבל לשאול שאלות אפשר.

היי חברה לגבי בריאות העיניים למתכנתים שביננוhameiri13

יש משהו שנשקרא "אור כחול" שכל המסכים פולטי והדבר הזה יכול 

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

 

ממליץ לקרוא כמה מאמרים בנושא:

שמירה על העיניים כשיושבים מול המחשב

ממליץ גם על יואב טלר. יש ל מדריך חינמי על איך יושבים בתכלס מול המחשב. בחור נחמד ומומחה!

עמוד ראשי – יואב טלר

 

שיהיה רק בריאות חברים !

הוספת גרפיקה בתכנותמתלמד123

שאלת בורות, אבל אני רוצה להבין ולא מצאתי תשובה לבד: נניח אני מפתח משחק בC++, איפה בדיוק נכנסת הגרפיקה? ראיתי שיש פקודות למשתנים לולאות וכו', איך אני מכניס תמונה שתזוז על פי התוכנה? אני מצייר אותה בקובץ נפרד ומכניס? אם כן איך ואיפה?

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

למה C++?אליסף א

אם אתה רוצה, חיפוש ביוטיוב יוביל אותך בקלות לסידרה של בניית מכונות משחק 



זוהי הדרך הארוכה שהיא קצרה

בכל אופן, ישנן שפות אחרות שיותר מתאימות לזה.

אם תכתוב מה אתה מתכנן אולי אוכל לכוון אותך

רק עבור ציור על המסךאליסף א

Write directly to screen with c++ - Stack Overflow

תקרא את התשובת שם 

 

יותר לעומקאליסף א

Module 3. Windows Graphics - Win32 apps

לא קראתי, אבל נראה שיש שם הרבה חומר.

ושוב אני שואל , למה C++?


כי זו השפה שאתה מכיר? 
אולי בפייטון יהיה לך יותר קל להתחיל.?


עוד סרטונים

https://www.youtube.com/watch?v=1KD4Ae0tX0g&list=PL-K0viiuJ2RctP5nlJlqmHGeh66-GOZR_


 

לפי מה ששמעתי זאת אחת השפות הטובות למשחקיםמתלמד123

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

זה מה שהבנתי מאנשים שמלמדים פיתוח משחקים, אבל יש סיכוי שזה לא נכון, כמה אתה בטוח שC++ לא טובה?

אני חושב על משהו של אסטרטגיה בלי המון גרפיקה, לא יודע בדיוק מה...

 

השאלה מה אתה מנסה ללמודאליסף א

באיזה שלב אתה.

אתה יודע לתכנת ? 
בכמה שפות ?

כמה נסיון יש לך?

מה המטרה שלך? לכתוב משחק? או ללמוד לתכנת?

האם שמעת על unity? 
שזו פלטפורמה לכתיבת משחקים, כוללת תלת מימד.

אם המטרה היא ללמוד לתכנת
אז C++ היא בהחלט מקום טוב ללמוד בו, רק מעט קשוח. 

אם המטרה היא לכתוב משחק. 
אז יש פלפורטמות קלות יותר. ומתאימות יותר

יתרונה של C++ היא בקרבתה לחומרה, ולכן היא מהירה יותר. ולכן מנוע שתכתוב בה, יעבוד יותר טוב.

בהצלחה. 

אני רוצה ללמוד תכנותמתלמד123

ולא מחפש עכשיו תלת ממד.

תודה על התשובות.

תתחיל עם #c יהיה לך יותר.קלמשה
C++ קשוח.
אפשרות שניה, jsמשה
יש ממש ספריות למשחקים על בסיס canvas.
נכון, #C, או JS או כמובן פייתוןzohareliasאחרונה

למי שרוצה להתחיל ללמוד תכנות, אלו השפות הכי מומלצות, באופן כללי.

 

עם שלושתן אפשר לתכנת משחקים.

אתה צריך להוסיף אפשרות ל "לייק"אליסף א

הייתי עושה לך .

 

תקלה בויזואל סטודיומתלמד123

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

זה נראה ככה:

 

קודם תתחבר לויזואל, זה בימין למעלה.טוב שם

אח"כ בפתיחת הקובץ תבדוק שמותקן השפה המסויימת.

פתח פרוייקט חדשאליסף א
זה לא עזר לי, אבל הסתדרתימתלמד123אחרונה

פשוט פתחתי סוג אחר של פלטפורמה לC++, לא יודע מה הייתה הבעיה ומה זאת הפלטפורמה הקודמת, אבל העיקר שיש לי פלטפורמה...

אולי יעניין אותך