الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تمرين خفيف لتحريك الجمجمة - وجبة الصباح :)

بدأه Snack3r في 18 نوفمبر 2013 · 17 رد · 1,741 مشاهدة · في اختبر قداراتك
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

 

المطلوب هو كتابة كود لطيف بالسي أو بالسي++ يطلب من المستخدم إدخال عدد حقيقي (double أو float) و يُظهر له مربع العدد المُدخل. ^_^

 

آه ! نسيت أن أخبرك أنه يُمنع استخدام الفاصلة المنقوطة (semicolon) في الكود :D

أيضا, الكود يجب أن يكون متوافقاً مع معيار C99.

 

 

 

تحياتي.

تم تعديل هذه المشاركة بواسطة Snack3r في 18 نوفمبر 2013 في 16:10

#2

أجاوبك يا Snack3r

 

ببساطه هندخل عملة الإدخال والطباعة 

 

في جملة شرطة 

 

بشكل مشابها 

if(printf ("Enter Number")>0 & printf("The Power 2 Is " + (scanf_s("%d")))*scanf_s("%d")>0 & getchar ())

{
}
 
ليس عندي مترجم للتجربة ده ملخص الفكرة 

تم تعديل هذه المشاركة بواسطة Snack3r في 18 نوفمبر 2013 في 14:34 — السبب: تنسيق الكود

 
Full Name : Ahmed Mohamed Abd El Hammed Salem
Job : Soft ware Developer
Mobile Number : (+2) 01110024783
Skype : SkipCoder
Email : DevAhmedSalim@Gmail.Com

يوماً ما سأجعل وطني يفخر بى

#3

فكرتك جيدة :)

 

  1. لكن لماذا استخدمت scanf_s مرتين ؟
  2. لا يُمكنك حساب مربع العدد ما دمت لم تخزنه في متغير ما.
  3. أيضاً, كان من الأولى أن تتسخدم scanf بدلا من scanf_s حتى يكون الكود قياسي.

 

بالمناسبة, لا زالت توجد العديد من الأفكار الأخرى للإجابة على السؤال :)

تم تعديل هذه المشاركة بواسطة Snack3r في 18 نوفمبر 2013 في 14:45

#4

هذا هو حلي الأول ..

#include<stdio.h>
int main(double x)
{
    if(scanf("%lf",&x)&&printf("%lf\n",x*x))
    {}
}

_________________

وهذا الثاني

#include<stdio.h>
int main(double x)
{
    while(scanf("%lf",&x)&&!printf("%lf\n",x*x))
    {}
}

متشوق لرؤية حلول مختلفة :)

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 18 نوفمبر 2013 في 14:50

#5

ده كود مكتوب بالسريع المهم إيصال الفكره الي يهمني

 

استخدام SCANF_S

 

More Secure 

 

عموما كنت انوي فقط إيصال الفكرة ..  

 

:D 

 
Full Name : Ahmed Mohamed Abd El Hammed Salem
Job : Soft ware Developer
Mobile Number : (+2) 01110024783
Skype : SkipCoder
Email : DevAhmedSalim@Gmail.Com

يوماً ما سأجعل وطني يفخر بى

#6

@SmartCode2013

تمام, ممكن نقول أنك أول واحد وصل للحل, كده ع السريع يعني :rolleyes:

 

@مطصفى

الكود بتاعك ميحترمش C99 لأن المعيار ينص على أن main إما أن تأخذ عدد صحيح و مؤشر مصفوفات أو لا تأخذ شيء :D

 

محاولاتي :

#include <math.h>
#include <stdlib.h>
#include <stdio.h>
 
#define BIG_ENOUGH_FOR_DOUBLE 80
 
int main(void)
{
	if(printf("Entrer nombre:\n") && printf("Le carre vaut %f\n", pow(
		strtod(fgets(malloc(BIG_ENOUGH_FOR_DOUBLE), BIG_ENOUGH_FOR_DOUBLE, stdin), NULL),
		2.0
	))) { }
}
int main(int argc, char* argv[])
{
	if(float i=1){
		if(printf("Entrez un nombre\n")){}
		if(scanf("%f",&i)){}
		if(printf("Le carre vaut %f\n",i*i)){}
	}
}

بانتظار البقية.

#7
if(float i=1)

:rolleyes:

#include<stdio.h>
#include<stdlib.h>
int main(int argc, char* argv[])
{
    while(
        printf("Enter a number :p\t")&&
        scanf("%s",argv[0])&&
        !printf("%s^2=%lf\n",argv[0],strtod(argv[0],0)*strtod(argv[0],0))
        )
    {}
}

:P

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 18 نوفمبر 2013 في 15:47

#8

if(double X = 1)

{

if((printf ("Enter Number : ")>0) && (scanf_s("%d",X) > 0))

{

if(printf("The Power 2 Is %d^2 = ",X*X ) )

{

}

}

}

تم تعديل هذه المشاركة بواسطة Snack3r في 18 نوفمبر 2013 في 16:03 — السبب: تنسيق الكود

 
Full Name : Ahmed Mohamed Abd El Hammed Salem
Job : Soft ware Developer
Mobile Number : (+2) 01110024783
Skype : SkipCoder
Email : DevAhmedSalim@Gmail.Com

يوماً ما سأجعل وطني يفخر بى

#9

@مصطفى

هل أنت متأكد من الكود تبعك ؟ لأن المستخدم يجب أن يُدخل العدد عن طريق سطر الأوامر كمدخلات للدالة الرئيسية و ليس مجرد إدخال طبيعي :rolleyes:

 

@SmartCode2013

الكود تبعك فيه error لأن المتغير x لم يعد مرئيا نظراً لوجود nested if :)

#10

لا ال Scope Variable 

 

لل اكس متاح لكل الافيات المتداخلة 

 

لو عندي مترجم كنت ضبطهالك جربها عندي متاكد انه مافي ارور بالنسبة للأكس فوق 

 
Full Name : Ahmed Mohamed Abd El Hammed Salem
Job : Soft ware Developer
Mobile Number : (+2) 01110024783
Skype : SkipCoder
Email : DevAhmedSalim@Gmail.Com

يوماً ما سأجعل وطني يفخر بى

#11

نعم متأكد :)

فأنا أقوم باستخدام argv كحاوية فقط .. ولا يهمني محتواه السابق :D لاحظ الـscanf

#12

@SmartCode2013

راجع هذا الموضوع لترجمة الكود online.

 

@مصطفى

يبقى كده, الكود لم يعد يحترم منطق البرمجة حتى :D لأنك تستخدم أشياء لغير ما أنشئت لأجله, يعني زي الواحد ياكل من مناخيرو مثلا :P

#13

:D:D:D:D:D:D شو هالتشبيه يا زلمة :D

أنا من وقت دخلت SPOJ لم أعد أعرف احتراماً لأي شيء :) كل ما يعمل فهو صحيح :) بالتوفيق

#14

#include <stdio.h>

#include <conio.h>

main()

{

     float n;

printf("Entrer nombre :\n");

scanf("%f",&n);

printf("%f",n*n);

getch();

}

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 26 ديسمبر 2013 في 20:27 — السبب: إضافة وسم الكود

#15

أهلاً بك أخي في المنتدى ,..

يبدو أنك لم تقرأ نص المسألة جيداً

انتبه لعبارة :

اقتباس

نسيت أن أخبرك أنه يُمنع استخدام الفاصلة المنقوطة (semicolon) في الكود biggrin.png

وفقك الله :)

#16

محاولتي

#include <iostream>
using namespace std;
int main(float a)
{
    if( cout<<"Enter a Number please :)"<<endl && (cin>>a) && cout<<a*a )
    {
    }
}

تم تعديل هذه المشاركة بواسطة أحمد عصام في 29 ديسمبر 2013 في 07:00

#17

طريقة اخري 

#include <iostream>
using namespace std;
int main()
{
   if(cout<<"Enter a number :)"<<endl)
   {
    for(float i ; cin>>i ; i && cout<<i*i<<endl)
   {
   }
   }
}

تم تعديل هذه المشاركة بواسطة أحمد عصام في 29 ديسمبر 2013 في 07:05

#18

انتبه مرة أخرى للسؤال p:

اقتباس

نسيت أن أخبرك أنه يُمنع استخدام الفاصلة المنقوطة (semicolon) في الكود biggrin.png

أيضا, الكود يجب أن يكون متوافقاً مع معيار C99.

 

الكود يجب أن يكون بـ C وليس ++C .. ويجب أن يخضع لمعايير C99

 

بالتوفيق

مواضيع مشابهة