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

أدخل وتحدى...وأعط الحل المتميز

مغلق
بدأه Breeze في 7 نوفمبر 2006 · 10 رد · 888 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كيف حالكو يا جماعة.......

الهدف الأول من المنتديات بشكل عام هو تبادل المعلومات والخبرات ..... :lol:

وما أريده من هذا الموضوع هو طرح سؤال واحد على الأعضاء والمبرمجين

وعصر الأفكار للعثور على أكثر من حل وبذلك تنتشر الأفكار البرمجية القيمة وتعم الفائدة بإذن الله.

وشو بتعطيني لو حليتو بطريقة ثانية؟؟؟؟....؟؟؟؟؟

مش أنا إللي بعطيك إنت بتعطي حالك وبتثبت جدارتك وقدرتك وأنك تسحق أن تكون مبرمج سي++.وأولا وأخيرا هو للفائدة.خلص بكفي حكي هات السؤال خلينا نخلص؟؟؟؟ :wacko: :angry: ولا يهمكو تؤمروا. -_-

السؤال قدرت أحلّو بطريقة وحدة وهي بإستخدام المعكوس.

والسؤال :

من لديه خبرة ولو قليلة بالكهرباء يعرف أنه لإيجاد المواسعة المكافئة لمجموعة مكثفات مرتبطة على التوالي يكون كما يلي :

1/س = 1/س1 + 1/س2 + 1/س3 + 1/س4 ............. 1/س ن

حيث س هي المقاومة المكافئة المطلوب إيجادها ...... و س1 ...س2 ...س3 ....إلى س ن هي المواسعات الموصولة على التوالي.....

أنا حليتو عن طريق المعكوس يعني أخر إشي

س = قيمة مقلوبها مرفوع للأس -1

cout<<pow(sum,-1

)

where sum = 1/C equivilant

أنتظر إجاباتكم وإبداعاتكم...... :lol:

ولكم مني تحية

لا إله إلا الله

ليت الذي بيني وبينك عامر وبيني وبين العالمين خراب

#2

السلام عليكم ورحمة الله وبركاته وبعد

اخي نحن مبرمجين ولسنا مهندسي كهرباء

اتمنا ان توضح ما كتبته لنفهم

اقتباس
من لديه خبرة ولو قليلة بالكهرباء يعرف أنه لإيجاد المواسعة المكافئة لمجموعة مكثفات مرتبطة على التوالي يكون كما يلي

انا عن نفسي فهمت ماتقصد هكذا

اقتباس
من لديه خبرة ولو قليلة بالكهرباء يعرف أنه لإيجاد !@#$%^&^%$ :wacko: $#@!ّ@# :wacko: $%$%

اتمنا ان توضح المطلوب في البرنامج او الاصح المعادلة

#3

حسنا أخي alawashiz

وأنا متأسف لأنني أخطأت في طريقة سردي للسؤال ولم أراعي إلا مهندسي الكهرباء ;)

وأحييك على ردك الجميل

حسنا سأكتب المعادلة بشكل مباشر :

نريد كتابة دالة تقوم بحساب قيمة س الكلية وحيث أن س هذه تعطى بالمعادلة التالية :

1\س1 + 1\س2 + 1\س3 +.......+ 1\س ن

أي أنه مجموع هذه المتسلسه يمثل في النهاية مقلوب س الكلية وهنا مربط الفرس.

أي لو أن :

1\س = 5\9 إذا س = 9\5

وهذا هو المطلوب ....................

تلميح : س1 و س2 و س3 ........... إلى س ن

هي قيم يدخلها المستخدم وتكون على شكل while loop

وشرط الخروج هو إدخال القيمة 0

وأشكرك أخي على متابعتك وأرجو أن تكون الصورة قد اتضحت .

ولك مني تحية

تم تعديل هذه المشاركة بواسطة Breeze في 8 نوفمبر 2006 في 12:12

#4

السلام عليكم

شوف .. انا كتبت كود مبسط بال C لانى مبتدىء وماعرف الا غيرها -_- حتى انى مبتدىء فيها :( (وطب وبتعمل ايه هنا :blink: )

اهو غلاسة :lol: ..

----------

شوف انا كتبت برنامج تدخل 3 قيم ويحول الثلاث قيم الى مقلوباتهم وبعدين يجمعهم الثلاثة عشان يعطيك ال 1/س بعدها يقلب المجموع ويعطيك س .. فهمت حاجة :huh:

عموما اليك الكود وجرب :lol:

#include <stdio.h>

int main()
{

float x,x0,x1,x2,x3,x11,x22,x33;

printf("X1= ");
scanf("%f",&x1);

printf("X2= ");
scanf("%f",&x2);

printf("X3= ");
scanf("%f",&x3);

x11=1/x1;

x22=1/x2;

x33=1/x3;

x0=x11+x22+x33;

x=1/x0;

printf("X0= %f, X= %f\n",x0,x);
return(0);
}

----

سلام ;)

تم تعديل هذه المشاركة بواسطة CazLo^ في 8 نوفمبر 2006 في 14:21

#5
#include <iostream.h>
#include <conio.h>

main()
{
  double x;
  double sum=0;

  while(1)
  {
	cout<<"enter x"<<endl;
	cin>>x;
	if(x==0) break;
	sum = sum + 1.0/x;
  }
  cout<<" X = "<<1/sum<<endl;

getch();
return 0;
}

اذا كنت تقصد ب (س2) هي س مرفوعه للأس 2 فهذا الحل خطأ ..

البرنامج بسيط جدا و ليس هناك داع لكتابة عبارة التحدي!

#6

يوسف انا جربت الكود بتاعك ظهرلى ايرور ×_×

الكومبايلر عندى visual c ++ 6.0

--------------------Configuration: test - Win32 Debug--------------------
Compiling...
test.c
C:\Documents and Settings\CazLo\Desktop\Tests\test.c(11) : error C2065: 'cout' : undeclared identifier
C:\Documents and Settings\CazLo\Desktop\Tests\test.c(11) : error C2297: '<<' : illegal, right operand has type 'char [8]'
C:\Documents and Settings\CazLo\Desktop\Tests\test.c(11) : error C2065: 'endl' : undeclared identifier
C:\Documents and Settings\CazLo\Desktop\Tests\test.c(12) : error C2065: 'cin' : undeclared identifier
C:\Documents and Settings\CazLo\Desktop\Tests\test.c(12) : error C2296: '>>' : illegal, left operand has type 'double '
C:\Documents and Settings\CazLo\Desktop\Tests\test.c(12) : error C2297: '>>' : illegal, right operand has type 'double '
C:\Documents and Settings\CazLo\Desktop\Tests\test.c(16) : error C2297: '<<' : illegal, right operand has type 'char [6]'
Error executing cl.exe.

test.obj - 7 error(s), 0 warning(s)
#7

طيب شوف انا عندي طريقتين

الاولى

#include <iostream>
using namespace std;

void main()
{
double x,sigma;
int count =0;
while(x!=0)
{
cin>>x;
sigma += 1/(x*count);
count++;
}
cout<<"The sigma is"<<sigma;
}

والثانية

void main()
{
double x,sigma;
int count =0;
while(x!=0)
{
cin>>x;
sigma += (x*count)^-1;
count++;
}
cout<<"The sigma is"<<sigma;
}

بعدين على فكرة هذي تعتمد على الرياضيات وقدرتك فيها ;)

#8

CazLo

أعتقد الأخطاء ظهرت لأنك لم تعرف iostream

alawashiz

باعتقادي الكود الذي وضعته خطأ ..

أولا ما قيمة ال x!

ثانيا لماذا تضرب في count

ثالثا الناتج يعطيك قيمة 1/س و ليس س

#9

Yousof

لا تظلم الكود فهو صحيح ولكن ان كان هناك خطأ فهو فهمي للمعادل

اوليست الارقام المتسلسلة في المعادلة تضرب في س

اقتباس
1\س1 + 1\س2 + 1\س3 +.......+ 1\س ن

قيمة x سيتم ادخالها من قبل المستخدم (لعلي اخطات في عدم تعيين قيمة لـx)

ولكن تسطيع تعديل القيمة ولن تضر

تم تعديل هذه المشاركة بواسطة alawashiz في 9 نوفمبر 2006 في 17:37

#10

س1 و س2 و س3 و سn

الأرقام تعبر عن المتغيرات فقط

مثلا س1 = x1

و س2 = x2

و ليست ناتج ضرب س * العدد و انما هو متغير ..

#11

السلام عليكم

أولا أقدم إعتذاري لتأخري في الرد ولكن

كنت أخوض امتحانات الـ First (بقي إمتحان واحد بس).

ولكن الأخ يوسف الله يعطيه العافية(كفّى ووفّى) :rolleyes:

-------------

أشكرك أخي ^Cazlo على مشاركتك المعطرة

مع أنك قلت لي أنك مبتدئ بهذه اللغة فباركك الله أخي وسهّل لك الطريق.(اللهم لا سهل إلا ما جعلته سهلاً). -_-

وأما برنامجك فأعذرني لأني بدأت طريقي ببرمجة السي++ :(

ولا أملك أدنى فكرة عن السي . :wacko:

--------------

* أشكرك أخي يوسف لمتابعتك للمشاركات وأشد على يدك

بهذا الحل الذي أتيت به. فعندما أخذت مقلوب المقلوب تحصل على القيمة المطلوبة.

وهذا يدل على قوة رياضياتك .وهو أساس البرمجة القوية.

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

ولكن التحدي بجلب الحلول المختلفة، ألا توافقني أنه بهذا

يصبح تحديا جديرا بالمشاركة. ولك مني تحية.

--------------

*

وأشد على يديك أخي الـ alawashiz

وأحييك لما أبديته من سلاسة معي لأني لم أعرف أن

أوصل السؤال بالطريقة السليمة. وشكرا لك .

-----------------

وبعون الله استطعت الوصول لطريقة أخرى لحل السؤال وإيجاد المقلوب :

#include <iostream.h>
#include <cmath>
int main(){
	double Cequ = 0,C , ln;

	cout<<"Pleace enter the value of first capacitor\t";
		cin>>C;
	while(C!=0){
		Cequ+=(1/C); 
	cout<<"ZERO to END | Enter the secand and so on....\t";
	cin>>C;
}

	ln = -1*log(Cequ);
	cout<<"Equivilant capacitance = "<<exp(ln)<<endl;
return 0;


}

:lol: :lol:

ولكم مني تحية.

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…