موقع طلبة جامعة البحرين

يمكنك تصفح الموقع كزائر ولكن ندعوك لتسجيل عضوية خاصة بك لتحصل على كافة الصلاحيات مثل تنزيل ملفات المكتبة وقراءة تعليقات هيئة التدريس وغيرها. يمكنك الحصول على عضوية مجانية بالضغط على زر تسجيل. إذا قمت بالتسجيل مسبقا فيمكنك الضغط على زر دخول.

تسجيل دخول
  • قسم المكتبة الجامعية مغلق مؤقتا بعد الاستهداف التي تعرضت له بعض خدمات أمازون في البحرين، جاري استرجاع الملفات ونقلها إلى سيرفرات جديدة وسيتم بعدها اعادة افتتاح المكتبة

دروس في مــــــــادة .. csa 213 أخر مقر c++ مع شر ح بالعربي ..

Yaser Alzaki

Well-Known Member
تاريخ التسجيل
3 ديسمبر 2007
المشاركات
96
المجموعة
ذكر
CSA113

الدرس الأول​

في السي ++
عندنا متغيرات من الاساس

مثل الرقم الصحيح و العدد الكسري الخ

و نسمي ذي النوع
Datatype

فنذكر اولا الdatatypes
Data Types : int , float , char , double , long ...


ومثلا اذا اردنا ان نعرف متغير

نكتب
كود: تحديد الكل
double x;


ولكن اذا اردنا تعريف او حفظ متغير مثل التاريخ ( 22-9-2007 ) فهل يوجد هناك داتا تايب لادخال و حفظ التاريخ كمتغير ؟؟؟

طبعا لا يوجد اذاً علينا ان نعرف الداتا تايب عن طريق الclass
و نستطيع القول
user define datatypes

كمثال لادخال التاريخ نكتب
كود: تحديد الكل
class date {
int day;
int month;
int year;
}


بحيث عندما نريد تخزين البيانات في الذاكرة نحجز اولا المربع الخاص او المساحة باسم الdate
وفي الdate
يتم تجزئة المساحة إلى 3 اقسام day - month - year

مثال على كيفية عمل داتا تايب خاص بنا
كود: تحديد الكل
#include <iostream.h>
class date{
private :
int day;
int month;
int year;
public:
void showdate()
{
cout<<day<<"-"<<month<<"-"<<year;
}
void setdate( int d ; int m ; int y)
{
day = d;
month = m ;
year = y;
}
}

main()
{
date today;
today.setdate(22,9,2007);
today.showdate();
}


نأتي الآن إلى الoutput و شرح الكود

دائما اذا اردنا معرفة المخرجات من الكود لا نقرأ الكود بالكامل

نذهب اولا الى الmain
كود: تحديد الكل
main()
{
date today;
today.setdate(22,9,2007);
today.showdate();
}


فنقرأ في الكود اوامر الكلاس كداتا تايب من نوع date
ولكن الdate
يعتبر كلاس و الtoday عبارة عن اوبجكت ..

في اول سطر
date today;

يتم تعريف المتغير today على انه date
اي نستطيع القول ان تم فتح الثغرة في الdate
حتى نستقبل و نرسل البيانات ..

ثاني سطر
today.setdate(22,9,2007);
عبارة عن اتصال بالميثود او الفنكشن في الكلاسس ..
سيتم ارسال الرقم 22 و 9 و 2007 و سنذهب الآن إلى الكلاسس و إلى الميثود الخاص بالكود السابق
كود: تحديد الكل
void setdate( int d ; int m ; int y)
{
day = d;
month = m ;
year = y;
}

نرى في الفنكشن انه يستقبل 3 متغيرات d و m و y

ثم ندخل إلى داخل الفنكشن
كود: تحديد الكل
day = d;


نرى وجود علامة =
اذن نتحرك من اليمين إلى اليسار فday تأخذ قيمة d
اي 22
وبنفس الحالة إلى باقي المتغيرات
اذن يتم تخزين 22 في day و 9 في month و 2007 في year

ثم نرجع إلى الmain من جديد
كود: تحديد الكل
today.showdate();

ايضا هذا الكود عبارة عن اتصال بالفنكشن و نرجع إلى الكلاسس
كود: تحديد الكل
void showdate()
{
cout<<day<<"-"<<month<<"-"<<year;
}


في هذا الكود يتم طباعة الكود
و المتغيرات
فيتم طباعة day-month-year من المتغيرات
اي 22-9-2007

---
اذن نرجع لدرسنا ما الفرق بين الاوبجكت و الكلاسس ؟؟؟
دائما لشرح هذا المثال يتم شرح مثلا احد يريد ان يطبخ شيئا فلديه الوصفة في الورقة و يقوم بما هو مكتوب على الورقة ..
اذا نستطيع القول هنا ان الكلاسس عبارة عن المقادير و طريقة العمل و الاوبجكت عبارة عن الناتج ..

و سؤال ثاني رأينا في الاعلى
private - public
فما الفرق بينهم ؟؟
الفرق ان البرايفت خاص بحيث لا يمكن قراءة ما بداخل البرايفت من الmain اما الpublic عام بامكان قراءة ما بداخل الpublic من الmain
اي عندما نكتب today. تظهر لنا قائمة بما يحتوي الكلاسس في الPublic
ولكن يمكن قراءة البرايفت عن طريق الpublic

تقريبا انتهينا من المراجعة ووصلنا إلى الشئ الجديد
في هذا المقرر وهو ان في السابق و حتى الآن يتم كتابة
كود: تحديد الكل
struct date{
int day;
int month;
int year;
}


فوظيفة الستركت نفس وظيفة الكلاسس ولكن ماذا نلاحظ وما الفرق بينهم ؟؟

الفرق بينهم ان في الكلاسس عندنا شيئين private - public
وايضا في الكلاسس عندنا functions
في الstruct بس عندنا data member و لا يمكن اضافة اي فنكشن فيه ..


اذن يقال إلى الستركت
data stuctures

واما في الكلاسس
Abstract datatype

..

بالنسبة للدرس الثاني من مقرر CSA213
الدرس عن arrays

المصفوفات​
الدرس خفيف و مهم في نفس الوقت ..

اولا تعريف الاراي ( المصفوفة )
An array is a collection of numbered boxes each contaning one data item
اي ان الاراي عبارة عن مجموعة من المصفوفات في كل مصفوفة يحمل متغير واحد فقط من نفس نوعية الاراي ..

لنرجع إلى الدرس الاول ..
كنا نتكلم عن المتغيرات في السي ++
في هذه الحالة ماذا لو اردنا ان ندخل 10 ارقام في متغير واحد ؟؟
يجب استخدام الاراي
اي بمعنى نجزء المتغير إلى اكثر من جزء بنفس مواصفات المتغير الاصلي ..
ولكن لا يمكن اعتبار المتغير الاصلي عبارة عن متغير الا بتحديد المصفوفة
اي نذكر x[1] , x[2] الخ

من الشروط
All data item have the same type
اي بعد تجزئة المتغير
اذا كنا كتبنا الاراي على ان المتغير من نوع float
فان الاراي و كل المصفوفات بالكامل من نوع float

A collective name is given to the group of elements .

An individual element of an array is identified by its own uniqe ( index)

اي ان لكل مصفوفة في الاراي
رقم لا يتكرر و رقم حقيقي ..
في اول مصفوفة الرقم 0
و كل مرة نضيف +1

---

طريقة الاراي

data type identifier [no of elements]

مثال
كود: تحديد الكل
float temp[5]

ففي المثال السابق لدينا متغير
temp
من نوع اراي
يتكون من 5 اجزاء ..

فالمتغيرات في هذا المثال
كود: تحديد الكل
temp[0]
temp[1]
temp[2]
temp[3]
temp[4]


اي 5 متغيرات ..

كيفية تعريف الاراي مبدئيا ..

كما كنا نعرف المتغير في الطرق العادية
كود: تحديد الكل
int x = 1;


فيوجد طريقتان في الاراي للتعريف المبدئي

اولا تعريف المتغير بعدم تحديد الخانات
وجعل عدد المصفوفات في المتغير بعدد المدخلات

اي نكتب
كود: تحديد الكل
int primes[]={1,2,3,5,7,11,13};

وايضا يمكن كتابة عدد المصفوفات اذا اردنا ذلك
كود: تحديد الكل
int primes[7]={1,2,3,5,7,11,13};


و لكن ماذا لو اردنا تعريف جزء من المصفوفة ؟؟
نأتي للطريقة الثانية
كود: تحديد الكل
int primes[10] = {1,2,3,5,7};

في هذه المصفوفة لدينا 10 خانات
يتم تعريف فقط اول 5 خانات
اي من 0 إلى 4 فقط
و يتم ترك الخانات من 5 إلى 9 بدون اي قيمة مبدئية

بما ان عرفنا كيفية تعريف المتغيرات في الاراي
ماذا لو اردنا تعريف المصفوفة رقم 2 في الاراي ؟؟؟

نأتي إلى الكود
كود: تحديد الكل
int x[2] = 20;


اي نحدد القيمة في هذه الحالة للمصفوفة 2 في الاراي x

اتمنى ان فهمتون الدرس مع اني احس ان الشرح مو لهناك

انتظروني مع الدرس الثالث مع التطبيقات و كم مثال على الاراي ..

السلام عليكم

سأكتب لكم بعض من مسائل الاراي لمن يدرس مقرر CSA213

و الحل على الطلبة

الادخال ( 1 - 2 - 3 - 4 - 5 - 6 )
كود: تحديد الكل
#include<iostream.h>
int main(){
const int n=6;
float a[n];
for(int i=0;i<n;i++)
{
cin>>a;
}
for(int j=n-1;j>=0;j--)
cout<<a[j]<<endl;
return 0;
}


الادخال
1 - 2 - 3 - 4 - 5 - 6
كود: تحديد الكل
#include<iostream.h>
int main(){
const int n=6;
float a[n];
for(int i=0;i<n;i++)
{
cin>>a;
}
for(int j=n-1;j>=0;j-=2)
cout<<a[j]<<endl;
return 0;
}


بانتظار الحلول

#include<stdio.h>
#include<conio.h>
main()


{
int i,a[25];
clrscr();
printf("Enter 25 integers\n");
for(i=0;i<=24;i++)
scanf("%d",&a);
sign(&a[0],25);
oe(&a[0],25);
getch();
}

sign(int *x, int a)


{
int n=0,p=0,i;
for(i=0;i<=a-1;i++)


{
if(*x>0)
p++;
else
n--;
x++;
}
printf("The positive are %d and The negetive are %d\n",p,n);
}
oe(int *y, int b)


{
int o=0,e=0,z,i;
for(i=0;i<=b-1;i++)


{
z=*y%2;
if(z==0)
e++;
else
o++;
y++;
}
printf("The even are %d and The odd are %d\n",e,o);
}_
**********************************

#include<iostream.h>
#include<fstream.h>
#include "apvector.h"
// ******* MENU *******
int menu()


{
int choice;
cout<<endl;
cout<<"Your choices are...\n"
<<" [1] Read the base file into the array.\n"
<<" [2] Print the array in rows of 15.\n"
<<" [3] Print the array's average, range, median, and mode.\n"
<<" [4] Add number(s) to the array.\n"
<<" [5] delete a number from the array.\n"
<<" [6] Sort the array into ascending order.\n"
<<" [7] Find a number in the array.\n"
<<" [8] Exit the program.\n";
cout<<"Please select a numeric choice from the menu: ";
cin>>choice;
return choice;
}

// ***** MENU CHOICE 1: "Read file"
apvector<int> readFile(int &last, bool &inOrder)


{
apvector<int> data_array(400, 9999999);
int i;
ifstream data_file;
data_file.open("ARRAY.TXT");
i=0;
while (!data_file.eof())


{
data_file>>data_array;
i++;
};
last=i-1;
data_file.close();
inOrder=false;
return data_array;
}

// ***** MENU CHOICE 2: "Print array(15
// on a row)"
void printArrayRows15(const apvector<int> &array, int numCt)


{
int index;
for(index=0;index<numCt;index++)


{
cout.width(4);
cout<<array[index]<<" ";
if(((index+1)%15)==0)
cout<<endl;
}
cout<<endl<<endl;
}

// ***** THE ARRAY ORGANIZING FUNCTIONS
// *****
// @@@ MENU CHOICE 6a: bubble sort
void bubbleSort(apvector<int> &array, int numCt, bool &sorted)


{
int index=0, j, temp;
for(index=0; index<numCt, !sorted; index++)


{
sorted=true;
for(j=0; j<numCt-index-1; j++)


{
if(array[j]>array[j+1])


{
temp=array[j+1];
array[j+1]=array[j];
array[j]=temp;
sorted=false;
}
}
}
}

// @@@ MENU CHOICE 6b: replacement sort
//
void replacementSort(apvector<int> &array, int numCt, bool &sorted)


{
int index, small, smlIndex, newIndex;
apvector<int> newArray(400);
for(newIndex=0; newIndex<=numCt; newIndex++)


{
small=99999;
for(index=0; index<numCt; index++)


{
if(array[index]<small)


{
small=array[index];
smlIndex=index;
}
}
newArray[newIndex]=small;
array[smlIndex]=9999999;
}
array=newArray;
sorted=true;
}

// @@@ MENU CHOICE 6c: insertion sort
void insertionSort(apvector<int> &array, int numCt, bool &sorted)


{
int index, orig, temp;
for(index=1; index<numCt; index++)


{
orig=array[index];
temp=index;
while(array[temp-1]>orig)


{
array[temp]=array[temp-1];
temp--;
if(temp<=0)
break;
}
array[temp]=orig;
}
sorted=true;
}

// @@@ MENU CHOICE 6d: quick sort
int partition(apvector<int> &array, int low, int high)


{
int pivot, left, right, temp;
pivot=array[low];
left=low;
right=high;
while(left<right)


{
while(array
<=pivot && left<high)


{
left++;
}
while(array
>=pivot && right>low)


{
right--;
}
if(left<right)


{
temp=array
;
array
=array
;
array
=temp;
}
}
temp=array[low];
array[low]=array
;
array
=temp;
return right;
}

void qSort(apvector<int> &array, int low, int high)


{
if(high>low)


{
int pivot;
pivot=partition(array, low, high);
qSort(array, low, pivot-1);
qSort(array, pivot+1, high);
}
}

void quickSort(apvector<int> &array, int numCt, bool &sorted)


{
qSort(array, 0, numCt-1);
sorted=true;
}

// @@@ BINARY SEARCH
int binarySearch(apvector<int> &array, int numCt, int target, bool &inOrder, bool &found)


{
found=false;
int low=0, high=numCt-1, mid=high/2;
if(!inOrder)
quickSort(array, numCt, inOrder);
while(high>=low)


{
if(target==array[mid])


{
found=true;
return mid;
}
if(target>array[mid])
low=mid+1;
if(target<array[mid])
high=mid-1;
mid=(high+low)/2;
}
int index;
for(index=high+5; index>=0; index--)


{
if(array[index]<target)
return index+1;
}
return 0;
}

// ***** MENU CHOICE 3: Print stats(aver
// age, range, mode)
double calcAverage(const apvector<int> &array, int numCt)


{
int runTtl=0, index;
double avg;
for(index=0; index<=numCt-1; index++)
runTtl+=array[index];
avg=double(runTtl)/numCt;
return avg;
}

void getRange(apvector<int> &array, int numCt, int &max, int &min, bool &inOrder)


{
if(!inOrder)
quickSort(array, numCt, inOrder);
max=array[numCt-1];
min=array[0];
}

double getMedian(apvector<int> &array, int numCt, bool &inOrder)


{
int medianIndex;
double median;
if(!inOrder)
quickSort(array, numCt, inOrder);
medianIndex=numCt/2;
if(numCt%2==0)
median=double(array[medianIndex]+array[medianIndex-1])/2;
else
median=array[medianIndex];
return median;
}

void getPrintMode(apvector<int> &array, int numCt, bool &inOrder)


{
int index, count=0, max;
for(index=0; index<numCt; index++)


{
if(array[index]==array[index+1])
count++;
else

{
if(count>max)
max=count;
count=0;
}
}
count=0;
for(index=0; index<numCt; index++)


{
if(array[index]==array[index+1])
count++;
else

{
if(count==max)
cout<<"One mode, which occured "<<count+1<<" times, is "<<array[index]<<".\n";
count=0;
}
}
}

void printStats(apvector<int> &array, int arrCt, bool &inOrder)


{
int big, sml;
double avg, median;
cout<<endl<<endl;
avg=calcAverage(array, arrCt);
getRange(array,arrCt,big, sml, inOrder);
median=getMedian(array, arrCt, inOrder);
getPrintMode(array, arrCt, inOrder);
cout<<"The average is "<<avg<<".\n"
<<"The range is "<<big-sml<<", from "<<sml<<" to "<<big<<".\n"
<<"The median is "<<median<<".\n\n";
}

// ***** MENU CHOICE 4: Add to the file.
// (ask how many and add that many)
void addNums(apvector<int> &array, int &numCt, bool &inOrder)


{
int numNewNums, newNumCt, addNum, index, addNumLoc;
bool addNumFound;
cout<<"\nHow many numbers do you wish to add to the array? ";
cin>>numNewNums;
if(numNewNums+numCt+100>=array.length())
array.resize(numCt+numNewNums+100);
for(newNumCt=numCt; newNumCt<numCt+numNewNums; newNumCt++)


{
cout<<" What number do you wish to add to the array? ";
cin>>addNum;
addNumLoc=binarySearch(array, numCt, addNum, inOrder, addNumFound);
for(index=newNumCt; index>addNumLoc; index--)
array[index]=array[index-1];
array[addNumLoc]=addNum;
}
numCt=newNumCt;
}

// ***** MENU CHOICE 5: Delete a number
// from the array
void deleteNum(apvector <int> &array, int &numCt, bool &inOrder)


{
int deleteTarget, targtLoc, index;
bool targFound;
cout<<"\nWhat number do you wish to remove from the array? ";
cin>>deleteTarget;
cout<<endl;
targtLoc=binarySearch(array, numCt, deleteTarget, inOrder, targFound);
if(!targFound)
cout<<"The number "<<deleteTarget<<" was not found in the array. \n\n";
else

{
for(index=targtLoc; index<=numCt-2; index++)
array[index]=array[index+1];
array[numCt-1]=9999999;
numCt--;
cout<<"The number "<<deleteTarget<<" at index "<<targtLoc<<" was deleted from the array.\n\n";
}
}

// ***** MENU CHOICE 6: Order the file (
// bubble / replacement / insertion / quick
// sort)
char sortingMenu()


{
char choice;
cout<<endl;
cout<<"The types of sorts are...\n"
<<" a. Bubble Sort\n"
<<" b. Replacement Sort\n"
<<" c. Insertion Sort\n"
<<" d. Quick Sort\n";
cout<<"What type of sort do you wish to perform? ";
cin>>choice;
return choice;
}

void sortSelect(char choice, apvector<int> &array, int numCt, bool &inOrder)


{
switch(choice)


{
case 'a':
bubbleSort(array, numCt, inOrder);
cout<<endl<<" Bubble sort complete.\n";
break;
case 'b':
replacementSort(array, numCt, inOrder);
cout<<endl<<" Replacement sort complete.\n";
break;
case 'c':
insertionSort(array, numCt, inOrder);
cout<<endl<<" Insertion sort complete.\n";
break;
case 'd':
quickSort(array, numCt, inOrder);
cout<<endl<<" Quick sort complete.\n";
break;
default:
cout<<" **** Not one of the choices: make sure it is lower-case a,b,c, or d!!! **** \n\n";
break;
}
}

// ***** MENU CHOICE 7: FIND A NUMBER IN
// THE ARRAY
void findandPrintNum(apvector<int> &array, int numCt, bool &inOrder)


{
int trgt, targIndex;
bool trgtFound;
cout<<"\nWhat number do you wish to find in this array? ";
cin>>trgt;
cout<<endl;
targIndex=binarySearch(array, numCt, trgt, inOrder, trgtFound);
if(!trgtFound)
cout<<"The number "<<trgt<<" was not found in this array, but should be\n"
<<" located at index "<<targIndex<<" (position "<<targIndex+1<<") in the sorted array.\n\n";
else
cout<<"The number "<<trgt<<" was first found at index "<<targIndex<<" (position "<<targIndex+1<<") in the array.\n\n";
}

// ~~~~~ %%%%% MAIN %%%%% ~~~~~
void main()


{
int arrayCt;
bool inOrder, menuContinue=true;
apvector<int> array(400);
array=readFile(arrayCt, inOrder);
while(menuContinue)


{
int menuChoice;
menuChoice=menu(); //gets choice number of operation to perform from main menu
switch(menuChoice)
{
case 1: // Read the base file into the array
array=readFile(arrayCt, inOrder);
cout<<endl<<"The original text file has been read into the array"<<endl;
break;
case 2: // Print the array in rows of 15
printArrayRows15(array, arrayCt);
break;
case 3: // Print the array's average, range, and mode
printStats(array, arrayCt, inOrder);
break;
case 4: // Add number(s) to the array
addNums(array, arrayCt, inOrder);
break;
case 5: // delete a number from the array
deleteNum(array, arrayCt, inOrder);
break;
case 6: // Sort the array into ascending order
char sortMenuChoice;
sortMenuChoice=sortingMenu();
sortSelect(sortMenuChoice, array, arrayCt, inOrder);
break;
case 7: // Find a number in the array
findandPrintNum(array, arrayCt, inOrder);
break;
case 8:
menuContinue=false;
break;
default:
break;
}
cout<<endl;
}
}


#include <iostream.h>
#include <string.h>
#include <conio.h>
void MinSort(char*, int);
void BubbleSort(char*, int);
void InsertionSort(char*, int);
void ShellSort(char*, int);
int main()


{
clrscr();
char cr[] = "dcabrosterdeonmlk";
cout << cr << endl;
ShellSort(cr, strlen(cr));
cout << cr << endl;
return 0;
}

// Complexity: n^2
void MinSort(char* array, int n)


{
int i, j, temp_index;
char min;
for (i=0; i < n-1; ++i)


{
temp_index = i;
min = array;
for (j = i+1; j < n; ++j)


{
if (array[j] < min)


{
temp_index = j;
min = array[j];
}

}

array[temp_index] = array;
array = min;
}

}

// Complexity: n^2
void BubbleSort(char* array, int n)


{
int i, j;
char temp;
for (i = 0; i < n-1; ++i)
for (j = i+1; j > 0; --j)
if (array[j] < array[j-1])


{
temp = array[j];
array[j] = array[j-1];
array[j-1] = temp;
}

}

// Complexity: n^2
void InsertionSort(char* array, int n)


{
int i, j;
char temp;
for (i=1; i < n; ++i)


{
temp = array;
j = i-1;
while ((j >= 0) && (temp < array[j]))


{
array[j+1] = array[j];
j--;
}

array[j+1] = temp;
}

}

// Complexity: n^1.2
void ShellSort(char* array, int n)


{
int i, j, k, s, gap_cnt;
char temp;
int gaps[5];
gaps[0] = 9; gaps[1] = 5; gaps[2] = 3; gaps[3] = 2; gaps[4] = 1;
for (gap_cnt = 0; gap_cnt < 5; gap_cnt++)


{
k = gaps[gap_cnt];
s = -k;
for (i = k; i < n; ++i)


{
temp = array;
j = i-k;
if (s == 0)


{
s = -k;
s++;
array = temp;
}

while (temp < array[j] && j >= 0 && j <= n) // + Bound checking


{
array[j+k] = array[j];
j = j-k;
}

array[j+k] = temp;
}

}

}

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <fstream.h>
#include <string.h>
#define bit 1024 // can be change

void main ()
{
ofstream file_output;
file_output.open("result_add.txt");
char *num1,*num2;
int ip,iq,loop,i,j,k,diff,*p,*q,*result_add,index;
//cout<<"nilai p = ";cin.getline(num1,100);
//cout<<"nilai q = ";cin.getline(num2,100);

p=new int[bit];
q=new int[bit];
result_add=new int[bit];
num1="357230523957912579237598320785723562308956815871759889230958293502859280501802359238606529652610096260000000000579517239532095789729152359823268123345793285793832583215921556732156732467348957349857329563279523857238957329857298579238532562379612389523973295873295873295239852395109593512396513239223752358723653728563528563892579283579357329562356358932031592359235732895623560782849720979578237592758874122639451141473715520434901960";
num2="493852837246637216102117603332758721572380572357235721310235235123051235285623562385632852352352365872356237592837598237592835237529385785723985293752356283901589581395178946984371893573985713928572395728571892355728572839578";
ip=strlen(num1);
iq=strlen(num2);

file_output<<"\nlength num1 = "<<ip<<" digit = "<<ip*8<<" bit"<<"\n";
file_output<<"length num2 = "<<iq<<" digit = "<<iq*8<<" bit"<<"\n\n";
cout<<"p = "<<num1<<"\n";
cout<<"q = "<<num2<<"\n\n";
file_output<<"p = "<<num1<<"\n";
file_output<<"q = "<<num2<<"\n";

cout<<"length num1 = "<<ip<<" digit = "<<ip*8<<" bit"<<"\n";
cout<<"length num2 = "<<iq<<" digit = "<<iq*8<<" bit"<<"\n";

if (ip>=iq)
{
loop=ip;
for(i=1;i<=ip;i++)
{
p=num1[i-1]-48;
}
cout<<"\n";
diff=abs(ip-iq);
for(j=1;j<=ip;j++)
{
if(j<=diff)
{
q[j]=0;
}
else if(j>diff)
{
index=diff+1;//agar index = 0,1,..
q[j]=num2[j-index]-48;
}
}
result_add[loop]=0;
for(k=loop;k>=1;k--)
{
result_add[k]+=p[k]+q[k];
//cout<<result_add[k]<<" ";
if(result_add[k]>=10 && k!=1)
{
result_add[k]=result_add[k]-10;
//cout<<result_add[k]<<" ";
result_add[k-1]=1;
}
else
{
result_add[k]=result_add[k];
result_add[k-1]=0;
}
}
}
else if(ip<iq)
{
loop=iq;
for(i=1;i<=iq;i++)
{
q=num2[i-1]-48;
}
cout<<"\n";
diff=abs(iq-ip);
for(j=1;j<=iq;j++)
{
if(j<=diff)
{
p[j]=0;
}
else if(j>diff)
{
index=diff+1;
p[j]=num1[j-index]-48;
}
}
result_add[loop]=0;
for(k=loop;k>=1;k--)
{
result_add[k]+=q[k]+p[k];
if(result_add[k]>=10 && k!=1)
{
result_add[k]=result_add[k]-10;
result_add[k-1]=1;
}
else
{
result_add[k]=result_add[k];
result_add[k-1]=0;
}
}
}
//Display result of addition
cout<<"\nDisplay result of addition = ";
file_output<<"\nDisplay result of addition = ";
for(k=1;k<=loop;k++)
{
cout<<result_add[k];
file_output<<result_add[k];
}
getch ();
}


انصح بتعلم ذي الكود
لان احس ان ذي الكود عملي
#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h>

//function prototypes

float get_gpa(char *nletter,int courses,int *pcredits); // finds GPA
void get_course_count(int& courses); //gets the size of the array from user


void main()
{ int courses, *pcredits;
char *nletter;
float gpa;

get_course_count(courses);
gpa =get_gpa(nletter,courses,pcredits);
cout.precision(2);
cout<<"Your GPA is " <<gpa<<endl;
system("PAUSE");

}// ends main function

// function implements
void get_course_count(int& courses)
{cout<<"Please enter how many courses you took for the semester --> ";
cin>>courses;
}//ends get_course_count

float get_gpa(char *nletter,int courses, int *pcredits)
{ float grade_point_sum=0.0;
float credit_sum=0.0;

cout<<"Please enter your grades for each course grades A to F (no minus or plus signs)\n";
pcredits = new int [courses]; //sets size of pcredits array
nletter = new char [courses];//sets size of nletter array
for (int i = 0; i<courses; i++)
{cout << "Enter the grade --> ";
cin >> nletter; //puts grades into a array
cout << "Enter how many credits this course is worth --> ";
cin >> pcredits; // puts credits in a array
{if (nletter=='a') // determines what the grade is
grade_point_sum+=pcredits * 4;
else if (nletter=='b')
grade_point_sum+=pcredits * 3;
else if (nletter=='c')
grade_point_sum+=pcredits * 2;
else if (nletter=='d')
grade_point_sum+=pcredits * 1;
else if (nletter=='f')
grade_point_sum+=pcredits * 0;
}//ends if statement

credit_sum += pcredits; //get the sum of credits

}// ends for loop

delete [] nletter; // deletes it off free store
delete [] pcredits; //deletes it off free store
pcredits=0; //set it to null just to be safe
nletter=0; //set it to null just to be safe
return ((float)grade_point_sum/credit_sum); //returns gpa
}//ends get gpa


سلام دكتور سايلنت
الاجابة عن الكود الاول
بتكون اول شي بنكتب
1
2
3
4
5
6
وبعدين البرنامج برد يطبع لينا من
6
5
4
3
2
1
لان في الشرط هو j--
وفي الكود الثاني بتكون بعد ما نكتب من 1 الى 6 بيطبع لينا البرنامج
6
4
2
لان j-=2 علشان جدي بنقص 2 في كل مرة

بس عندي سؤال المصفوفات على تبتدي من الصفر حتى لو ما قالو لينا او اذا ما قالو لينا نعتبرها من واحد؟؟

ج:دائما تبدأ من الصفر ..

قالوا لينا او ما قالوا لينا


#include <iostream>
#include <iomainip>
using namepace std;

int main()
{
int n[10];

for ( int i = 0 ; i <10; i++)
n =0;

cout<<" Element" <<setw(13)<<"Value"<<endl;

for ( int j = 0 ; j<10 ; j++)
cout<<setw(7)<<j<<setw(13)<<n[j]<<endl;

return 0;
}




والsetw عبارة امر لتحديد مسافة بين الكلمتين ..
انتظر الاوتبوت للكود ...

وذي مثال آخر

#include <iostream>

const int arraysize = 10;

int s[ arraysize];
for ( int i = 0 ; i < arraysize ; i++)
s = 2 + 2 * i;

for ( int j = 0 ; j<arraysize ;j++)
cout<<s[j]<<endl;

return 0;
}

انتظروني مع كم كود برتاح و برجع اكتبهم

#include <iostram>
using namespace std;
int main()
{
const int arraySize = 10;
int a[ arraySize ] = { 87 , 68 , 94 , 100 , 83 , 78 , 85 , 91 , 76 , 87 };
int total =0;

for (int i = 0 ; i<arraySize ; i++)
total +=a;

cout<<"total of array elements : " << total<<endl;

return 0;
}

آخر كود
#include<iostream>
using namespace std;

int main()
{
const int arraySize = 11;
int n[ arraySize ] = { 0 ,0 , 0 , 0 , 0 , 0 , 1 , 2 , 4 , 2 , 1};

cout <<"Grades\n";

for ( int i = 0 ; i < arraySize ; i++)
{
if ( i == 0 )
cout<<" 0-9:";
else if ( i ==10)
cout<<" 100 : ";
else
cout<< i*10<< "-" << ( i*10)+9<< ":";

for ( int stars = 0 ; stars <n ; stars++)
cout<<"*";

cout<<endl;
}

return 0;
}




مسامحة على التقصير ...

مع الحق ....


وعن وجود أي ملاحظة على الشرح .. أسمحوا ليي ..

لأن أدخل المنتدى الا بعد الأمتحانات ..
ادا قدرت بعد .. :rolleyes2:
​
 
أنتبهوا أخواني وأخواتي ..

ربما تكون هناك أشياء كثيرة لم ندرسها في الوصلة اللى خليتها فوق ..

خذوا اللي درسناه بس وأتركو الباقي يولي ..

مع السلامة ....

أراكم بعد الأمتحانات ..

وأن شاء تبيضون وجهنه ..
 
هذا انت شارحنه بنفسك خيو ؟

شغل تمام , وايد زين

حق اللي مطنش له جم محاضرة يحضرهم هني :icon31:

ملاحظة : يمكن نستعين بشرحك في مشروع خاص , يمكن
 
السلااام عليكم

كيف حالكمم؟؟

لوو سمحتواا بغيت اعرف وش اسماء الدروس الي راح ناخدها في هالمقرر ؟؟

المقرر سهل ؟؟ لو اصعب من المقرريين السابقين ؟؟

هل راح احتاج الى اني اشتري الكتااب ؟؟

وشنوو رايكم في دكتوور خليل صالح ؟؟

هل اوكي اهو بالشرح ويتوزيع الدرجات وبكل شي ؟؟

لانه اول مرة يدرسني


ولو سمحتوا الي عنده ملخصات او راابط الى ملخصات الى كل الدروس اذا ما عليه امر يحطهم هني :$


وشكرااا لتعاونكم

تحياتي

اختكم roh elhob
 
عودة
أعلى أسفل