عضو کانال یوتیوب ما شوید.

حل تمرین سلام سلام خداحافظ کوئرا + جاوا

حل تمرین سلام سلام خداحافظ کوئرا + جاوا
حل تمرین سلام سلام خداحافظ کوئرا + جاوا

حل تمرین سلام سلام خداحافظ کوئرا + جاوا

در این نوشته تمرین “سلام سلام خداحافظ ” که در وبسایت کوئرا موجود می باشد را برای شما کاربران عزیز حل کرده ایم.

 

در مورد سایت کوئرا بیشتر بخوانید…

 

سوال تمرین سلام سلام خداحافظ

از آن‌جایی که دانشجویان دانشگاه تهران خیلی با هم دوست هستند و برای دوستانشان هم ارزش زیادی قائلند، پس از ورود منتظر می‌شوند تا بقیه‌ی دوستانشان هم از درب وارد شوند!

دانشجو‌‌ها به ترتیب از درب وارد می‌شوند و هر کسی پس از ورود، با ترتیب بر‌عکس ورودی به افراد حاضر در جمع سلام می‌کند (ابتدا نفر آخری که وارد شده، سپس نفر یکی مانده به آخری که وارد شده، … و در نهایت نفر اولی که وارد دانشگاه شده است).

جالب است بدانید که بچه‌های دانشگاه تهران اعتقادی به جواب سلام ندارند.

چون افراد دانشگاه تهران زیاد درس می‌خوانند، روابط اجتماعی ضعیفی دارند و فقط سلام و خداحافظی بلدند.

به همین دلیل، پس از اینکه همه‌ی افراد وارد شدند، دانشجوها با همان ترتیبی که آمده بودند، شروع به رفتن می‌کنند.

ولی فراموش نکنیم که دانشجوهای دانشگاه تهران خیلی با‌ادب هستند و هیچ‌گاه بدون خداحافظی از بقیه، جمع را ترک نمی‌کنند.

هر کسی که می‌خواهد برود، ابتدا از تمام بچه‌ها خداحافظی می‌کند و سپس می‌رود.

منتها چون سرش از حجم بالای سلام‌ها درد گرفته است، فقط می‌گوید خداحافظ بچه‌ها.

پس از آن، بقیه‌ی بچه ها به ترتیب ورودشان از او خداحافظی می‌کنند و سپس نفر مورد نظر خواهد رفت.

مسئولین دانشگاه تهران خیلی به فکر دانشجوهایشان هستند و به همین خاطر می‌خواهند تمام گفت‌و‌گو‌های بین دانشجویان را دقیق مورد بررسی قرار دهند.

از آن‌جایی که مسئولین سرشان خیلیییییییی شلوغ است، به آن‌ها کمک کنید و این گفت‌و‌گو‌ها را برایشان چاپ کنید.

ورودی تمرین سلام سلام خداحافظ

در سطر اول ورودی عدد n آمده است.

در سطر دوم رشته آمده است که رشته‌ی  ام، نام نفر i ام می‌باشد.

1 <= n <= 50

طول اسم هر نفر کمتر مساوی ده می‌باشد.

 

خروجی تمرین سلام سلام خداحافظ

در خروجی، همه‌ی جملاتی که در گفت‌و‌گوی دانشجوها به کار برده شده است را به ترتیب چاپ کنید.

هر جمله را به این صورت چاپ کنید که ابتدا اسم دانشجو و سپس جمله‌ای که گفته است چاپ شده باشد.

 

مثال تمرین سلام سلام خداحافظ

 

example 1 :
===================================
input :
4
ali hana jafar tizi

output :
hana: salam ali!
jafar: salam hana!
jafar: salam ali!
tizi: salam jafar!
tizi: salam hana!
tizi: salam ali!
ali: khodafez bacheha!
hana: khodafez ali!
jafar: khodafez ali!
tizi: khodafez ali!
hana: khodafez bacheha!
jafar: khodafez hana!
tizi: khodafez hana!
jafar: khodafez bacheha!
tizi: khodafez jafar!
tizi: khodafez bacheha!


example 2 :
===================================
input :
1
mikaeel

output :
mikaeel: khodafez bacheha!

 

کد+حل تمرین سلام سلام خداحافظ (جاوا)

 

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        String n = sc.nextLine();
        int nn = Integer.parseInt(n);
        String myInput = sc.nextLine();
        String[] splited = myInput.split("\\s+");

        if(nn < 0 || nn > 50)
            return;

        for (int i = 2; i<=nn; i++) {
            for (int j = i - 1; j>=1; j--) {
                System.out.println(splited[i - 1] + ": salam " + splited[j - 1] + "!");
            }
        }

        for (int i = 1; i<=nn; i++) {
            System.out.println(splited[i - 1] + ": khodafez bacheha!");
            for(int j = i + 1; j <= nn; j++) {
                System.out.println(splited[j - 1] + ": khodafez  " + splited[i - 1] + "!");
            }
        }

    }

}

 

روش حل تمرین سلام سلام خداحافظ

در ابتدا با کمک کتابخانه ی Scanner دو ورودی از کاربر دریافت می کنیم؛ در خط اول یک عدد به عنوان عدد n و در خط بعد هم یک رشته که شامل اسم ها می شود و بین هر دو اسم یک فاصله یا کاراکتر space می باشد.

بعد از دریافت این دو خط در خط بعدی با کمک تابع split رشته را بخش بخش می کنیم و آنرا در یک آرایه می ریزیم.

در ادامه در حلقه ی for اصلی داریم که داخل هر کدام از این حلقه های for یک حلقه ی for دیگر نیز قرار دارد.

در حلقه ی for اول شما باید سلام ها را کنترل کنید و در حلقه ی for دوم باید خداحافظی ها را کنترل کنید.

در بخش اول که مربوط به سلام ها بود حلقه ی اصلی به صورت صعودی پیش می رود و از نفر دوم این کار را شروع می کند چرا که نفر اول کسی را ندارد که به آن سلام کند؛ داخل همین حلقه یک حلقه ی نزولی است که از شمارنده ی فردی که تازه وارد صف شده است شروع می کند و تا اولین نفر به آن سلام می کند.

در بخش دوم که مربوط به خداحافظی ها می باشد حلقه ی اصلی و حلقه ی داخل هر دو به صورت صعودی کار می کنند؛ در حلقه ی بیرونی بخش دوم ابتدا فرد مورد نظر با بقیه خداحافظی می کند و در حلقه ی داخل این حلقه افراد باقیمانده در صف جواب خداحافظی اون را می دهند.

پایان.!

 

منبع سوال : وبسایت کوئرا

اگر روش حل بهتری برای “تمرین سلام سلام خداحافظ” دارید برای ما ارسال کنید تا با نام خودتان به اشتراک بگذاریم.

اگر سوال خاصی را مدنظر دارید در بخش نظرات برای ما ارسال کنید تا حل آن سوال را در الویت محتوای سایت بگذاریم.

موفق باشید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 2 میانگین: 4.5]