ارجو مساعدتي في عمل برنامج يظهر الاعداد من 1 -100 كل 10 ارقام في سطر عند الارقام التي تقبل القسمة على 4 يظهر اسم "علي" والاسماء التي تقبل القسمة على 8 يظهر اسم "مروان"
ارجو ان تكون الفكرة واضحة
وجزاكم الله خيرا على مساعدتي مسبقا
ارجو مساعدتي في عمل برنامج يظهر الاعداد من 1 -100 كل 10 ارقام في سطر عند الارقام التي تقبل القسمة على 4 يظهر اسم "علي" والاسماء التي تقبل القسمة على 8 يظهر اسم "مروان"
ارجو ان تكون الفكرة واضحة
وجزاكم الله خيرا على مساعدتي مسبقا
public static void main(String args[]) {
int[] counts = countLetters(chars);
System.out.println();
System.out.println("The occurrences of each number are:");
displayCounts(counts);
}
public static char[] createArray() {
char[] chars = new char[100];
for (int i = 0; i < chars.length; i++)
return chars;
}
public static void displayArray(char[] chars) {
for (int i = 0; i < chars.length; i++) {
if ((i + 1) % 20 == 0)
System.out.println(chars + " ");
else
System.out.print(chars + " ");
}
}
public static int[] countLetters(char[] chars) {
int[] counts = new int[100];
for (int i = 0; i < chars.length; i++)
counts[chars - '1']++;
return counts;
}
public static void displayCounts(int[] counts) {
for (int i = 0; i < counts.length; i++) {
if ((i + 1) % 10 == 0)
System.out.println(counts + " " + (char)(i + '1')); else
System.out.print(counts + " " + (char)(i + '1') + " ");
}
}
}تم تعديل هذه المشاركة بواسطة ahmad123 في 28 أكتوبر 2008 في 22:00
هناك خطأ في الكود حيث أن المتغير chars غير معرف ،، اضافه الى أن الدوال الموجوده غير متطلبه في برنامجك ، فما الحاجه لداله لعد الحروف ، وانشاء مصفوفه !
اذا كان برنامجك حول عمل برنامج لطباعه الأرقام من 1 الى 100 ويقوم بطباعه كل عشره أسطر في سطر ، وفي هذه الأرقام اذا كان الرقم يقبل القسمه على 4 يطبع شيء فلاني ، واذا كان يقبل القسمه على 8 يطبع شيء فلاني ، فالبرنامج سوف يحتاج الى التعامل مع المعامل % لأخذ باقي القسمه ..
في حال أردنا طباعه كل عشره ارقام سوف نختبر باقي قسمه العدد على 11 واذا كان أكبر فمعناه أنزل للسطر التالي ،
وفي حال أردنا طباعه A مكان مضاعفات العدد 4 ، نختبر باقي قسمه العدد على 4 فاذا ساوي 0 فنقوم بطباعه الحرف المطلوب ، ونفس الشيء في 8 ..
هذا المثال ، لكنه يحتاج لترتيب المخرجات قليلا :
[color= #000000; font-weight: bold;]public [color= #000000; font-weight: bold;]class Demo
[color= #009900;]{
[color= #000000; font-weight: bold;]public [color= #000000; font-weight: bold;]static [color= #000066; font-weight: bold;]void main[color= #009900;]([color= #003399;]String args[color= #009900;][[color= #009900;]][color= #009900;])[color= #009900;]{
[color= #000000; font-weight: bold;]for [color= #009900;]([color= #000066; font-weight: bold;]int i[color= #339933;]=[color= #cc66cc;]1 [color= #339933;]; i[color= #339933;]<=[color= #cc66cc;]100 [color= #339933;]; i[color= #339933;]++[color= #009900;]) [color= #009900;]{
[color= #000000; font-weight: bold;]if [color= #009900;]( i [color= #339933;]% [color= #cc66cc;]11 [color= #339933;]== [color= #cc66cc;]0 [color= #009900;])
[color= #003399;]System.[color= #006633;]out.[color= #006633;]println[color= #009900;]([color= #009900;])[color= #339933;];
[color= #000000; font-weight: bold;]else [color= #000000; font-weight: bold;]if [color= #009900;]( i [color= #339933;]% [color= #cc66cc;]4 [color= #339933;]== [color= #cc66cc;]0[color= #009900;])
[color= #003399;]System.[color= #006633;]out.[color= #006633;]print[color= #009900;]([color= #0000ff;]"A "[color= #009900;]) [color= #339933;];
[color= #000000; font-weight: bold;]else [color= #000000; font-weight: bold;]if [color= #009900;]( i [color= #339933;]% [color= #cc66cc;]8 [color= #339933;]== [color= #cc66cc;]0[color= #009900;])
[color= #003399;]System.[color= #006633;]out.[color= #006633;]print[color= #009900;]([color= #0000ff;]"M "[color= #009900;]) [color= #339933;];
[color= #000000; font-weight: bold;]else
[color= #003399;]System.[color= #006633;]out.[color= #006633;]print[color= #009900;](i [color= #339933;]+ [color= #0000ff;]" " [color= #009900;]) [color= #339933;];
[color= #009900;]}
[color= #009900;]}
[color= #009900;]}بالمناسبه هو لن يطبع الحرف الثاني أبدا M ، وذلك لأن 8 ومضاعفاتها هي أيضا من مضاعفات 4 :).
في حال لم يكن ذلك المطلوب وضح مطلوبك بشكل جيد ، وفي حال لم يتضح شيء يمكنك السؤال عنه ..
بالتوفيق ،
تم تعديل هذه المشاركة بواسطة Wajdy Essam في 28 أكتوبر 2008 في 05:33
http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة
https://moalfat.com للكتب الالكترونية والكورسات التعليمية
Everything we see now is just an engineering solution based on old science
شكرا جزيلا اخوي وجدي لا اعلم كيف اشكرك
جزاك الله كل خير الله يوفقك ويعطيك ما تتمناه في الداريين
p
اقتباسublic static int[] countLetters(char[] chars) {int[] counts = new int[100];
for (int i = 0; i < chars.length; i++)
counts[chars - '1']++;
return counts;
}
في عندك غلطه هنا
أنت تعاملت مع عنوان المصفوفه على أساس أنه حرف مش إنتيقر
شكرا جزيلا لكل من رد وساعدني جزاكم الله كل خير وجعله في موازيين حسناتكم
بس ممكن اطلب مساعده في كيف الكوماند اللي يجب عمله لجعل القائمة السابقة داخل جدول كيف اعمل خط عامودي من جانبي ال 10 اعمدة
ومشكروين مقدما
شكرا جزيلا لكل من رد وساعدني جزاكم الله كل خير وجعله في موازيين حسناتكم
بس ممكن اطلب مساعده في كيف الكوماند اللي يجب عمله لجعل القائمة السابقة داخل جدول كيف اعمل خط عامودي من جانبي ال 10 اعمدة
ومشكروين مقدما
طيب حاول على الأقل ، الموضوع كله طباعه - قبل الدخول في الحلقه ---------- ، وبعد الحلقه أيضا ، وكذا تكون حطيت سطر فوق الأرقام وبعد الأرقام ..
لو أردت أن تكون الأرقام محاطه أيضا ، استخدم الشرط الخاص بالنزول للسطر الجديد ..
if ( i % 11 == 0 )
{
System.out.println("|");
System.out.print("|");
}
جرب هكذا ومع قليل من التغييرات تستطيع عمل ما تريد ،،
بالتوفيق ،
http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة
https://moalfat.com للكتب الالكترونية والكورسات التعليمية
Everything we see now is just an engineering solution based on old science
شكرا جزيلا اخوي وجدي ان شاء الله هجربه
وان شاء الله يمشي
اعتذر على عدم طرحي المشكله كلها مره واحدة لكن هل الكوماند كدا صح اذا رغبت انه في العمود الثامن اي بدلا عن 8-18-28-38 ان يظهر اسم علي
else if ( i % 8 == 0 && i% 10==0)
System.out.print("M ") ;
جرب :
i % 10 = 8
بالتوفيق ،
http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة
https://moalfat.com للكتب الالكترونية والكورسات التعليمية
Everything we see now is just an engineering solution based on old science
لا اعلم كيف اشكرك اخوي وجدي
الله يعطيك ما تتمناه في الدارين ويسعدك ويوفقك يارب
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…