פורסם 2011 ביוני 1014 שנים מחבר אחלה הרבה תודה יש רק בעיה שאם אני מכניס טקסט למשל test ty, tttאז התוצאה מתקבלת בסדר אבל יש רווח בין שורה לשורה: testtytttאבל אני רוצה כבר לנסות ולהתגבר על זה לבד.הרבה תודה !
פורסם 2011 ביוני 1014 שנים רמז: תערוך את משפט ה- else שלך ל- else if ותוסיף תנאי. שמחתי לעזור. בהצלחה.
פורסם 2011 ביוני 1114 שנים מחבר לא ממש הבנתי מה הבעיה שלי, אם אני מוסים IF ELSE הוא לא מדפיס לי כלוםusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace PrintWordWordFromText{ class Program { static void Main(string[] args) { //read text from user Console.Write("Enter Text: "); string line = Console.ReadLine(); //define array string[] Words = new string[100]; //define temp string temp = ""; int WordIndex = 0; line = line + " "; while (line.Length != 0) { for (int i = 0; i < line.Length; i++) { //we have a regular character - part of a word if (line[i] != ' ' & line[i] != ' ' & line[i] != ',' & line[i] != '.' & line[i] != '$') { temp += line[i]; } //special characters else if (line[i] == ' ' || line[i] == ' ' || line[i] == ',' || line[i] == '.' || line[i] == '$') { } else { Words[WordIndex] = temp; WordIndex++; temp = ""; } } line = Console.ReadLine(); } for (int i = 0; i < WordIndex; i++) { Console.WriteLine(Words[i]); } Console.ReadLine(); } }}
פורסם 2011 ביוני 1114 שנים תסתכל על התשובה שרשמתי הפתרון לכך נמצא שם. או שלחלופין אתה יכול לנסות להבין מה קורה. זה מדפיס לך שורות ריקות כי ברגע שיש לך אחד מהתווים המיוחדים פעמים רצוף למשל: ., (נקודה ופסיק)אז האלגוריתם יכנס פעמים רצופות אל משפט ה - ELSE בפעם הראשונה זה יהיה עם תוכן במשתנה TEMP ובפעם השניה הוא יהיה מאופס ולכן תיכנס שורה ריקה אל תוך המערך ולאחר מכן גם תודפס כשורה ריקה. אותו הדבר יקרה גם אם הקלט יתחיל באחד מהתווים המיוחדים.עם נסתכל על הדוגמא שרשמת: test ty, tttזה קרה בגלל הרווח הכפול לאחר test ובגלל הפסיק רווח לאחר ה- ty.עכשיו, בתקווה שהבעיה יותר ברורה, נסה שנית לפתור אותה.
פורסם 2011 ביוני 1114 שנים מחבר ניסיתי לשים ב-if else פקודת break ככה שאם יבוא לי תו מיוחד הוא ישר יקפוץ למעלה ויבדוק את התו הבא אבל זה לא קורה ואני לא מבין למה, אולי בגלל ה-else שיש בהמשך ?
פורסם 2011 ביוני 1114 שנים לא מבין מה?? את התשובה?? הלוגיקה שאתה מנסה לפתור בה את הבעיה היא לא נכונה. אז למה אתה לא מסתכל בפתרון ומנסה להבין משם מה קורה . בשביל מה כתבתי אותו עם אתה אפילו לא טורח להסתכל בו .
פורסם 2011 ביוני 1114 שנים מחבר ניסיתי אבל לא ממש הלך לי, אני עובד עם דיבגינג ועובר שורה שורה ורואה מה קורה אבל לא מסתדר לי הפתרון
פורסם 2011 ביוני 1114 שנים או בוי...ערכתי את הפיתרון שלך שיתאים לדרישות התרגיל. נסה לפתור בעצמך ותעזר בפיתרון במידה ולא תצליח. using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace PrintWordWordFromText{ class Program { static void Main(string[] args) { do { //read text from user String line = "", eof ="", temp = ""; Console.Write("Enter Text: "); while (true) if ((eof = Console.ReadLine()) != "") line += eof + " "; else break; string[] Words = new string[100]; int wordsIndex = 0; for (int i = 0; i < line.Length; i++) { //We have a regular Character - part of a word if (line[i] != ' ' & line[i] != ',' & line[i] != '.' & line[i] != '$') temp += line[i]; else if (temp != "") { Words[wordsIndex] = temp; wordsIndex++; temp = ""; } } Console.WriteLine("You have enterd the following words:"); for (int i = 0; i < wordsIndex; i++) Console.WriteLine(Words[i]); } while (true); } }}
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.