تحدي Ice Cream Parlor

تم تحميل الصفحة في 0,5821403 ثانية
تحدي Ice Cream Parlor
الحالة
مغلق و غير مفتوح للمزيد من الردود.
إنضم
3 مايو 2016
المشاركات
424
الإعجابات
642
النقاط
93
تحدي Ice Cream Parlor


كلما أخذ Sunny و Johnny جلسة في صالون الآيس كريم، يساهمان مع بعضهما لجمع m دولاراً من أجل الآيس كريم. في كل يوم ، الصالون يوفر مجموعة من n نكهة. كل نكهة، i، مرقمة تسلسليا بمعرف وحيد ID من 1 الى n و لديها مبلغ محدد، ci، خاص بها.

بإعطاءك قيمة m و ثمن كل نكهة، لكل عدد t من الجلسات في صالون الآيس كريم، ساعد Sunny و Johnny لاختيار نكهتين (2) اثنتين و التي ستجعلهما يخسران كل ما ساهما به من مال (m) كل زيارة.

لكل جلسة في الصالون، اطبع المعرفين ID لنوعي الآيس كريم اللذان على Sunny و Johnny شراؤهما على شكل رقمين مفصولين بـفراغ space في سطر جديد. يجب عليك طباعة الـ ID ذو الرقم الصغير أولا ثم الـ ID ذو الرقم الكبير.

ملحوظة: إذا كان هناك نوعان من الآيس كريم i و j ، فإنه من الممكن أن يكون لهما نفس المبلغ أي أنه من الممكن أن يكون ci = cj.



توضيح: (Input)


السطر الأول يحتوي على رقم t و الذي يمثل عدد الجلسات في صالون الآيس كريم. الأسطر الموالية و التي عددها هو 3 × t ، تصف جميع جلسات Sunny و Johnny، و كل جلسة هي كالتالي:

1. السطر الأول يمثل m. المبلغ الذي ساهم به Sunny و Johnny في الجلسة.

2. السطر الثاني يمثل n. عدد النكهات في الجلسة.

3. السطر الثالث يحتوي على n عدد مفصولة بفراغ space ، و التي تمثل ثمن كل نكهة. العنصر i من هذه الأرقام يمثل المبلغ ci الخاص بالآيس كريم ذو المعرف i، حيث أن i محصورة ما بين 1 و n، ni ≤ 1 .


(Output)


إطبع سطر واحد يحتوي على رقمين مفصولين بفراغ و اللذان يمثلان المعرفين الخاصين بالنكهتين اللتان يجب شراؤهما، مع أنه يجب أن يكون المعرف ذو الرقم الصغير أولا ثم المعرف ذو الرقم الكبير. تذكر أن النكهات هي لديها معرفات من الرقم 1 الى الرقم n.


مثال: (Input)


كود C#
2
4
5
1 4 5 3 2
4
4
2 2 4 3



(Output)
كود C#
1 4
1 2
 

AGENT OF CHAOS

موقوف لمخالفة الشروط
rankrankrankrank
إنضم
8 يونيو 2016
المشاركات
1,500
الإعجابات
1,517
النقاط
113
يبدو جيد .
--
جعلت الأمر معقد - مع أننى متأكد أنه ليس كدلك .
حآول أن تجعل الامر أبسط > المطلوب فقط !
 
إنضم
3 مايو 2016
المشاركات
424
الإعجابات
642
النقاط
93
يبدو جيد .
--
جعلت الأمر معقد - مع أننى متأكد أنه ليس كدلك .
حآول أن تجعل الامر أبسط > المطلوب فقط !
نعم حاولت أبسط و أعطي أكثر عدد ممكن من المعلومات، لانه اذا اعطيت المطلوب فقط سيحل بسرعة :D
ضع محاولاتك ليست مشكلة
 

jklr

ExpErt DeveloPer
rankrankrankrank
إنضم
24 سبتمبر 2015
المشاركات
1,498
الإعجابات
1,537
النقاط
113
السلام عليكم

كود C++

#include <iostream>
#include <Windows.h>

using namespace std;

int main() {
   //int pp1 = 0, b1 = 0;
   int ID[100][100], n[100], ci[100][100], m[100], aaa[100][100],bbb[100][100];
   int a, b, c, t;
   cout << "\n\thello! C++" << endl;
   cout << "\tjklr  dev-point.com" << endl;
   cout << "\t--------------------\n" << endl;

   cout << "Enter le nombere de galsat t : ";
   cin >> t;
   cout << endl;
   for (b = 0; b < t; b++) {
     int k = 1;
     for (a = 0; a < t; a++) {
       cout << "\n\n";
       cout << "enter " << k << " eme $ m :";
       cin >> m[a];
       cout << "enter le nb de ice crem : ";
       cin >> n[a];
       int nb = n[a];
       for (b = 0; b < nb; b++) {
         cout << "Enter le prix de chaque ice crem : ";
         cin >> ID[a][b];
       }
       cout << "\n\n------- out -------\n\n";
       for (int pp = 0; pp < n[a]; pp++) {
         for (b = 0; b < nb; b++) {
           int oo = b + 1;
           int somme = 0;
           somme = ID[0][pp] + ID[a][b];
           
           if (somme == m[a] && pp!=b && pp < b) {

             int pp1 = 0, b1 = 0;
             pp1 = pp + 1;
             b1 = b + 1;
             cout << pp1 << " " << b1 << "  ";
             
           }
           
         }
       }
       cout << endl;
       
     }
   }

   cout << "\n\n\n";
   cout << t << endl;
   for (b = 0; b < t; b++) {
     for (a = 0; a < t; a++) {

       cout << m[a] << endl;
       cout << n[a] << endl;
       for (b = 0; b < n[a]; b++) {
         cout << ID[a][b] << " ";
       }
       cout << endl;
     }
   }


   getchar();
   getchar();
   return 0;
}


 
إنضم
3 مايو 2016
المشاركات
424
الإعجابات
642
النقاط
93
مرحبا @jklr

محاولة جيدة جدا ، و لكنها لم تتخطى الحالة الثانية:

كود C#

        hello! C++
        jklr  dev-point.com
        --------------------

Enter le nombere de galsat t : 2



enter 1 eme $ m :4
enter le nb de ice crem : 5
Enter le prix de chaque ice crem : 1
Enter le prix de chaque ice crem : 4
Enter le prix de chaque ice crem : 5
Enter le prix de chaque ice crem : 3
Enter le prix de chaque ice crem : 2


------- out -------

1 4


enter 1 eme $ m :4
enter le nb de ice crem : 4
Enter le prix de chaque ice crem : 2
Enter le prix de chaque ice crem : 2
Enter le prix de chaque ice crem : 4
Enter le prix de chaque ice crem : 3


------- out -------

1 4




في الحالة الثانية يجب تطبع

كود C#
1 2


كما في المثال
 
الإعجابات: jklr

jklr

ExpErt DeveloPer
rankrankrankrank
إنضم
24 سبتمبر 2015
المشاركات
1,498
الإعجابات
1,537
النقاط
113
مرحبا @jklr

محاولة جيدة جدا ، و لكنها لم تتخطى الحالة الثانية:

كود C#

        hello! C++
        jklr  dev-point.com
        --------------------

Enter le nombere de galsat t : 2



enter 1 eme $ m :4
enter le nb de ice crem : 5
Enter le prix de chaque ice crem : 1
Enter le prix de chaque ice crem : 4
Enter le prix de chaque ice crem : 5
Enter le prix de chaque ice crem : 3
Enter le prix de chaque ice crem : 2


------- out -------

1 4


enter 1 eme $ m :4
enter le nb de ice crem : 4
Enter le prix de chaque ice crem : 2
Enter le prix de chaque ice crem : 2
Enter le prix de chaque ice crem : 4
Enter le prix de chaque ice crem : 3


------- out -------

1 4




في الحالة الثانية يجب تطبع

كود C#
1 2


كما في المثال
إنشاء الله سأراجعه في أقرب وقت , الآن مشغول جدا , ربما في الليل
أنت أكيد عرفت الخطأ أين يوجد يا شيطان البرمجة :) , أنت مبرمج محترف حقا أخي
 

jklr

ExpErt DeveloPer
rankrankrankrank
إنضم
24 سبتمبر 2015
المشاركات
1,498
الإعجابات
1,537
النقاط
113
مرحبا @jklr

محاولة جيدة جدا ، و لكنها لم تتخطى الحالة الثانية:

كود C#

        hello! C++
        jklr  dev-point.com
        --------------------

Enter le nombere de galsat t : 2



enter 1 eme $ m :4
enter le nb de ice crem : 5
Enter le prix de chaque ice crem : 1
Enter le prix de chaque ice crem : 4
Enter le prix de chaque ice crem : 5
Enter le prix de chaque ice crem : 3
Enter le prix de chaque ice crem : 2


------- out -------

1 4


enter 1 eme $ m :4
enter le nb de ice crem : 4
Enter le prix de chaque ice crem : 2
Enter le prix de chaque ice crem : 2
Enter le prix de chaque ice crem : 4
Enter le prix de chaque ice crem : 3


------- out -------

1 4




في الحالة الثانية يجب تطبع

كود C#
1 2


كما في المثال
هو هذا اللي يقهر بالبرمجة , نصف ساعة فقع دماغي وآخر شي طلع الخطأ بدل ال0 - a
:106::123::123::123::31::179::183::2::286::286::3::123::123::123:

هذا الكود عدلت كمان فيه كم شغلة وكم غلطة فنية


كود C++

#include <iostream>
#include <Windows.h>

using namespace std;

int main() {
   int ID[100][100], n[100], m[100];
   int a, b, t;
   cout << "\n\thello! C++" << endl;
   cout << "\tjklr  dev-point.com" << endl;
   cout << "\t--------------------\n" << endl;

   cout << "Enter le nombere de galsat t : ";
   cin >> t;
   cout << endl;

   int k = 1;
   for (a = 0; a < t; a++) {
     cout << "\n\n";
     cout << "enter " << k << " eme $ m :";
     cin >> m[a];
     cout << "enter le nb de ice crem : ";
     cin >> n[a];
     int nb = n[a];
     for (b = 0; b < nb; b++) {
       cout << "Enter le prix de chaque ice crem : ";
       cin >> ID[a][b];
     }
     cout << "\n\n------- out -------\n\n";
     for (int pp = 0; pp < n[a]; pp++) {
       for (b = 0; b < nb; b++) {
         int somme = 0;

           somme = ID[a][pp] + ID[a][b];
           if (somme == m[a] && pp != b && pp < b) {
             int pp1 = 0, b1 = 0;
             pp1 = pp + 1;
             b1 = b + 1;
             cout << pp1 << " " << b1 << "  ";
           }
       }
     }
     k++;
   }

   cout << "\n\n\n";
   cout << t << endl;
   for (b = 0; b < t; b++) {
     for (a = 0; a < t; a++) {

       cout << m[a] << endl;
       cout << n[a] << endl;
       for (b = 0; b < n[a]; b++) {
         cout << ID[a][b] << " ";
       }
       cout << endl;
     }
   }


   getchar();
   getchar();
   return 0;
}
 
إنضم
3 مايو 2016
المشاركات
424
الإعجابات
642
النقاط
93
رائع جدا يا صديقي إنه الحل الصحيح، ما شاء الله عليك
قمت بتبسيط الكود الخاص بك

كود C++
#include <iostream>

using namespace std;

int main() 
{
    int ID[100][100], n[100], m[100];
   
    int a, b, t;
   
    cin >> t;
   
    for (a = 0; a < t; a++) 
    {
        cin >> m[a];
     
        cin >> n[a];
     
        int nb = n[a];
     
        for (b = 0; b < nb; b++) 
        {
            cin >> ID[a][b];
        }
     
        for (int pp = 0; pp < n[a]; pp++) 
        {
            for (b = 0; b < nb; b++) 
            {
                int somme = 0;

                somme = ID[a][pp] + ID[a][b];
         
                if (somme == m[a] && pp != b && pp < b) 
                {
                    int pp1 = 0, b1 = 0;
             
                    pp1 = pp + 1;
             
                    b1 = b + 1;
             
                    cout << pp1 << " " << b1 << endl;
                }
            }
        }
    }
   
    return 0;
}



الى تحدي آخر ان شاء الله
 
الإعجابات: jklr

Nasser Salem

.:: administration ::.
طاقم الإدارة
إنضم
7 أغسطس 2011
المشاركات
14,662
الإعجابات
23,980
النقاط
113
وعليكم السلام ورحمة الله

موضوع رآئع يستحق الوقوف على أعتآبه والانحنآء لرقيه التطويري .

تآبعوآ يآ نخبة

:10:
 

jklr

ExpErt DeveloPer
rankrankrankrank
إنضم
24 سبتمبر 2015
المشاركات
1,498
الإعجابات
1,537
النقاط
113
رائع جدا يا صديقي إنه الحل الصحيح، ما شاء الله عليك
قمت بتبسيط الكود الخاص بك

كود C++
#include <iostream>

using namespace std;

int main()
{
    int ID[100][100], n[100], m[100];
  
    int a, b, t;
  
    cin >> t;
  
    for (a = 0; a < t; a++)
    {
        cin >> m[a];
    
        cin >> n[a];
    
        int nb = n[a];
    
        for (b = 0; b < nb; b++)
        {
            cin >> ID[a][b];
        }
    
        for (int pp = 0; pp < n[a]; pp++)
        {
            for (b = 0; b < nb; b++)
            {
                int somme = 0;

                somme = ID[a][pp] + ID[a][b];
        
                if (somme == m[a] && pp != b && pp < b)
                {
                    int pp1 = 0, b1 = 0;
            
                    pp1 = pp + 1;
            
                    b1 = b + 1;
            
                    cout << pp1 << " " << b1 << endl;
                }
            }
        }
    }
  
    return 0;
}



الى تحدي آخر ان شاء الله
يعطيك ألف عافية أستاذ البرمجة : محمد؟
بس لا تصعب التحدي كثير
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 0 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل