ساعدوني إني أغرق في كابوس الا Arrays!!!!!!!!!!!!!!
Arrays and Pointers
السلام عليكم...أخويه سامي أنا شرحت عن ال arrays.....واذا ما فهمت شي خبرني...
السلام عليكم...بشرح لكم اللي بقدر عليه.....
شو هو الArray....اتوقعوا؟؟؟؟؟
هو نوع من أنواع ال Data type.....يعني مثل الstring و الint ...الخ.....
نستخدم ال array علشان...نصغر الكود وعلشان بعد يسهل علينا كتابة البرنامج..فإذا كان عندنا وااااااااايد معلومات ونبى نقرأ وااااايد أشياء فنستخدم الarray...و الarray يكون دايما Pass by reference.....يعني يطرش العنوان...ما يطرش القيمة....
و الarray ..يكون بس من نوع الint و نوع الcharacter...يعني ما شي array من نوع string ....
بعطيكم مثال...على شكل الarray...إذا كنت بعرف array من نوعcharacter....يحتوي على عشرةelements....فبيكون شكله جيه في الdeclaration...للarray....
char name[10]; // declaration allocates memory
شفتوا هالمثال....سهل...يعني بس نعرف نوع array....و كم عدد الelements.اللي بنستخدمها...
بعطيكم مثال ثاني...
شوفوا...
float temps[ 5 ] ; // allocates memory for array
int m = 4 ;
temps[ 2 ] = 98.6 ;
temps[ 3 ] = 101.2 ;
temps[ 0 ] = 99.4 ;
temps[ m ] = temps[ 3 ] / 2.0 ;
temps[ 1 ] = temps[ 3 ] - 1.2 ; // what value is assigned?
7000 7004 7008 7012 7016
99.4 ? 98.6 101.2 50.6
temps[0] temps[1] temps[2] temps[3] temps[4]
انشوف انه الarray من نوع float يعني..الfloat ياخذ 4 bytes.....فأول adress بيكون7000..و اللي بعديه 7004..و اللي عقبه 7006...و هكذا...
شوفو آخر معادله....تتوقعوا كم بيكون الناتج....؟؟؟؟؟
سهل بيكون الناتج 100.0.....لأنه temps[3]...قيمته 101.2 - 1.2....بيكون قيمته 100.0....
مثال ثاني....
Declare an integer array of 5 elements and do
following operations:
Get input from user.
Add 10 to each element of array.
Display array.
Square each element of array and then redisplay.
في الجزء الأول طابين منكم تاخذو المخلات من المسخدم يعني بتسوون cin...
في الجزء الثاني..طالبين منكم....تضيفوا 10 لل arrray...
في الجزء الثالث طالبين منكم تسوون display للarray.....يعني تسوون cout.ز.
والجزء الرابع تسوون تربيع للarray.....
وهذا الحل...
#include<iostream>
using namespace std;
int i;
int main()
{
int x[5];
for(i=0;i<5;i++)
{
cin>>x;
}
for(i=0;i<5;i++)
{
x+=10;
}
for(i=0;i<5;i++)
{
cout<<x<<"\t"<<endl;
}
for(i=0;i<5;i++)
{
cout<<x*x<<"\t";
}
return 0;
}
مثال ثالث بسيط شوفو هالكود..
#include<iostream>
using namespace std;
int main()
{
int ages[]={40,13,20,19,36,100};
for(int m=0;m<5;m++)
{
cout<<ages[m]<<endl;
}
return 0;
}
توقعوا شو بيكون الناتج؟؟؟
طبعا بيطلع الناتج
40
13
20
19
36
وبس...لأننا هني حددنا الm ..بيكون أقل من خمسه..يعني بيبدأ العد من أول رقم لخمس أرقام و هو بدأ ..بأول رقم اللي هو 40 وكمل لخمس أرقام ووقف عند رقم 36.....
لأنه عد خمس أرقام ووقف....
هذا الموضوع مغلق.