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

كود الشكل ( رجاء شرحه )

بدأه طموحي كبير في 3 يونيو 2010 · 43 رد · 3,119 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخواني جزاكم الله خيرا

ارجوا منكم أن تشرحوا الاوت بوت الصحيح لهذا الكود مع تريس لاهنتم وفقكم الله و سدد خطاكم

// function template
#include <iostream>
using namespace std;

int main ()
{

for(int i=0;i<=5;i++)
{
 int j;
 cout<<"              ";
 for(j=0;j<=i;j++)cout<<"\b";
 cout<<j;
 for(j=i;j>0;j--)cout<<j;
for(j=0;j<i;j++)cout<<j+2;
 cout<<endl;
}

for(int ii=4;ii>=0;ii--)
{
 int j;
 cout<<"              ";
 for(j=0;j<=ii;j++)cout<<"\b";
 cout<<j;
 for(j=ii;j>0;j--)cout<<j;
for(j=0;j<ii;j++)cout<<j+2;
 cout<<endl;
}

  return 0;
}

http://groups.google.com.sa/group/Cplusplusimamgroup

تفضلوا بالزيارة لقروبي :)

#2

لو الكود صحيح ممكن تحوليه نسخه تنفيذيه و تشغليه و وقتها هتعرفى شكل النتيجه. :sleep:

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#4

الكود سليم و هذه هى مخرجاته

             1
            212
           32123
          4321234
         543212345
        65432123456
         543212345
          4321234
           32123
            212
             1
Press any key to continue . . .

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#6

السلام عليكم ,

طموحي كبير كتب:

لكن وين الخطا بالكود ؟

الكود ما فيه خطأ ,

بالتوفيق ,

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#7

اشكرك يا عبدالهادي و اشراقه فجر

لكن انا استخدم برنامج الايكلبس

وما يطلع لي الاوت بوت الي ابيه ، لكن يطلع اوت بوت بمربعات

429025570.jpg

المعذره اذا ثقلت عليكم

فرج الله همومكم

cout << "\b";

ما فائدتها و هل هي الي تطلع لي المربعات ؟

http://groups.google.com.sa/group/Cplusplusimamgroup

تفضلوا بالزيارة لقروبي :)

#8
طموحي كبير كتب:

لكن انا استخدم برنامج الايكلبس

للأسف ما أعرف له , أنا جربت الكود ع بورلاند و فيجوال سي , المخرجات صحيحة ..

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#9
cout << "\b";

وظيفتها Backspace اى كانك رجعت حرف للوراء لتكتبى علية

name : mohamedyosry

#10

اها مشكورين الله يجزاكم كل خير

طيب عندي سؤال اخر بالنسبه لدالة rand

على اي اساس تختار ارقام عشؤائيه ؟

وايضا srand ؟

وفقكم الله لكل خير

http://groups.google.com.sa/group/Cplusplusimamgroup

تفضلوا بالزيارة لقروبي :)

#11
اقتباس
طيب عندي سؤال اخر بالنسبه لدالة rand

على اي اساس تختار ارقام عشؤائيه ؟

وايضا srand ؟

الدالتان وظيفتهم اعادة رقم int عشوائى ولكن الاخر تقبل رقم ك parameter ليساعدها على التجديد فى الرقم العشوائى (لانها تدخلة فى معادلة انتاج الرقم العشوائى ) اما الاولى فقد يتكرر الرقم العشوائى . لذلك وجدت srand لتنتج رقم مختلف كلما استقبلت parameter مختلف لذلك هى اختصار لseed random حيث الرقم هو عامل مساعد فى العشوائية seed .

name : mohamedyosry

#13

ممكن شرح لهذا الكود

#include <iostream>
using namespace std;
int main()
{
 char c;
 for(int i=1;i<=100;i++)
 {
c=(char)i;
 cout<<i<<"  in ASCII is: "<<c<<endl;
}
return 0;
}

في هذه الجزئيه ما فهمت الهدف منها

c=(char)i;

تم تعديل هذه المشاركة بواسطة طموحي كبير في 5 يونيو 2010 في 18:35

http://groups.google.com.sa/group/Cplusplusimamgroup

تفضلوا بالزيارة لقروبي :)

#15
c=(char)i;

السلام عليكم

هذه الجزئيه تعمل عمليه تقريب او تحويل

للرقم i الى ان يكون char

لكى يتم فهمها على انها رقم ويريد ان يساويه مع الحرف الـ ASCII المقابل له

ويتم تحويل الرقم قبل حفظه فى الـ char

ويمكنك ازالتها فالكود سوف يعمل ان شاء الله

ولكن هذه تسمى casting

مثلا بالنسبة للارقام

double x =10.3; 
int y = 20; 
y = (int) x;
cout<<y;

يكمنك هنا كتابه (int) اللى تقبل الـ x

ويمكنك ازالتها

فالـ complior يفعلها لانك تستخدم لغه C++

انما لغه مثل الجافا لا تقبل ذلك

لابد من عمل casting بشكل يدوى

اردت المساعده فقط

واتمنى ان تكون فهمت ما اعنيه

تقبل مرروى تحياتى

تم تعديل هذه المشاركة بواسطة Eng.Hamzawy في 5 يونيو 2010 في 19:45

Software Developer
Mahmoudkelany.com


 

#16
طموحي كبير كتب:

في هذه الجزئيه ما فهمت الهدف منها

c=(char)i;

يحول الرقم بالآسكي إلى الحرف المقابل له ..

ويمكن تكتبين الكود بهالطريقة بدل ما تعرفين متغير char ,

for(int i=1;i<=100;i++)
 cout<<i<<" in ASCII is: "<<(char)i<<endl;

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#18

الله يجزاكم خير اشرحوا هذي السؤال

650507926.jpg

تم تعديل هذه المشاركة بواسطة طموحي كبير في 7 يونيو 2010 في 00:25

http://groups.google.com.sa/group/Cplusplusimamgroup

تفضلوا بالزيارة لقروبي :)

#19

وهذا السؤال ليه طلع لنا قيمة 3 وما فائدته جزيتم خيرا واعذروني احط صور عشان خاصية الاكواد مو راضيه تشتغل معي

#include <iostream>
using namespace std;

int myfunction(char *p)
{
int n = 0;
char c = *p;
while (*p != '\0'){
if (*p == c) n++;
        		p++;
}
return n;
}
int main() {
char s[] = "CS140: Computer Science Course";
cout <<myfunction(s);
}

تم تعديل هذه المشاركة بواسطة طموحي كبير في 7 يونيو 2010 في 00:58

http://groups.google.com.sa/group/Cplusplusimamgroup

تفضلوا بالزيارة لقروبي :)

#21

مرحبا , بالنسبة لسؤالج الأول :

بالبداية .. عرف مصفوفة فيها عناصر , و عرف مؤشر ..

Ptr = myArray ;

أصبح المؤشر ptr يحمل عنوان أول عنصر في المصفوفة , ولو أردنا طباعة القيمة التي يؤشر عليها ..

a .  *Ptr = 11 ;

b . *Ptr +1 = 12 ;

يعني أول عنصر من المصفوفة و أضيف له 1 ..

11 + 1 = 12

واضح ؟

c . (*Ptr + 3 ) / 2  = 7 ;

أول شي تشوفين لما بداخل الأقواس .. (أول عنصر في المصفوفة (11) مضاف لها 3 ) و الناتج 14 .. وبعدين قسم الـ 14 على 2

الناتج أصبح 7 ..

d . * (Ptr +3  ) = 45 ;

بالبداية , نعرف أن الـ Ptr يؤشر على أول قيمة يعني يحمل عنوانها .. وهو الصفر ..

لو تشوفين اللي بداخل الأقواس .. (0 + 3) = 3 ,

أصبح المؤشر يؤشر على العنصر الرابع في المصفوفة ..

للتوضيح أكثر ..

* Ptr = 11  ;

وأيضاً

myArray [0] = 11 ;

لو نضيف على Ptr بواحد أي ننتقل للعنصر اللي بعده ,

يصبح

* ptr = 23 ;

وبالمثل

myArray [1] = 23 ;

أخيرًا ..

d . *(Ptr + *(Ptr + 7 ) - myArray [5] ) = 34 ;

أول شي تشوفين الأقواس الداخلية ..

*(Ptr + 7)

يعني 0 + 7 = 7 .. يصبح لدينا

 (Ptr)*  = 49

و أنقص منه

myArray [5] =  47

الناتج أصبح 2 وأضيف له 0 .. و بعدين يصبح الناتج ..

*(Ptr) = 34 ;

إن شاء الله يكون وآضح ..

بالتوفيق :happy: ,

تم تعديل هذه المشاركة بواسطة إشراقــه فجــر في 7 يونيو 2010 في 01:12

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#22

قولي آآآمين الله يسعدك دنيا و اخره و يحقق لك كل الي تتمنيه

وااضح و شرح أكثر من رائع

http://groups.google.com.sa/group/Cplusplusimamgroup

تفضلوا بالزيارة لقروبي :)

#23
طموحي كبير كتب:

وهذا السؤال ليه طلع لنا قيمة 3 وما فائدته

البرنامج .. يطبع لج كم حرف C في الجملة .. ومثل ما هو وآضح بالجملة 3 ..

main()
{
char s[] = "CS140: Computer Science Course";
cout <<myfunction(s);
}

الـ main ما فيها شي , بس إرسال المصفوفة للدالة ..

في الدالة الفرعية :

int myfunction(char *p)
{
int n = 0;
char c = *p;
while (*p != '\0'){
if (*p == c) n++;
p++;
}
}
return n;

المتغير c , يحمل أول عنصر في المصفوفة , وهو حرف C .. من خلاله بنقارن ..

*p .. يحمل أول حرف في المصفوفة أيضاً ..

while (*p != '\0')

طالما أننا لم نصل للنهاية ..

if (*p == c) n++;

هنا الشرط .. نقارن الحرف في الجملة مع المتغير c .. عشان نحسب ..

إذا متساوي .. زيد المتغير n بواحد ..

p++;

معناته أنتقل للحرف التالي ..

وهكذا إلى أن نصل إلى نهاية الجملة ..

و نرجع قيمه المتغير n ..

إن شاء الله يكون وآضح ..

وموفقه يارب :happy: ,

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#24

شرح ولا أروع جزيت الجنة

طموحي كبير كتب:

ايضا

1. We want to initialize to -1 all elements of the table t.

int *p; 
int t[20]; 
int i;

b.	for (p=t; p<t+20; p++) *p=-1;

طيب هذا السؤال لاهنتي ما فهمته

دعواتكم بكره اختباري الفاينل الله يستر :sad:

تم تعديل هذه المشاركة بواسطة طموحي كبير في 7 يونيو 2010 في 09:59

http://groups.google.com.sa/group/Cplusplusimamgroup

تفضلوا بالزيارة لقروبي :)

#25
Write a function called MaxFrequency that takes as parameters an array of integers and its size and returns the maximum and its frequency (You have to determine the adequate prototype of the function). 

e.g.: Consider the following example:

7	9	8	8	5	9	4	9

The returned values will be: 9 for the maximum and 3 for its frequency

void MaxFrequency(int *t, int size, int &max, int &freq){
	int max=t[0], freq=0;
	for(int i=0; i<size; i++)  
		if(t>max)
			max = t;
	for(int i=0; i<size; i++)
		if(t==max)
			freq++;
}

void MaxFrequency(int *t, int size, int &max, int &freq){
	max=t[0];
	freq=0;
	for(int i=0; i<size; i++){  
		if(t>max){ 
			max = t;
			freq = 0;
		}
		if(t==max) 
			freq++;
	}
}

اشرحوه لا هنتم

تم تعديل هذه المشاركة بواسطة طموحي كبير في 7 يونيو 2010 في 10:19

http://groups.google.com.sa/group/Cplusplusimamgroup

تفضلوا بالزيارة لقروبي :)

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