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

ضروري مساعده في كود c++

بدأه الحلم الواعد في 13 مارس 2010 · 10 رد · 711 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخواني الاعضاء مبرمجي الـC++

انا عملت كود لخوارزم safe state بلغة السي بلس بلس ولكني للاسف توقفت عند نقطه لم استطع حلها

هذا الكود

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




main()
{

int nop,nor,sum,i,k;

//--------------------------
cout<<"inter the no. of  resources ";
cin>>nor;
int inst[nor];
cout<<"inter the no. of processes ";
cin>>nop;
 for ( i=0;i<nor;i++)
 {
cout<<"inter the no. of instance "<<i<<endl;
  int inst[nor-1];
cin>>inst;
 }
//-------
int work[nor],need[nop][nor],allocation[nop][nor],max[nop][nor];
bool finish[5];
//-----
 for ( i=0;i<nor;i++)
finish=false;
//------------------------------------
cout<<"inter the allocation of processes ";
 for ( i=0;i<nop;i++)
{cout<<"inter the allocaion of process"<<i<<"for each instace"<<endl;

 for ( k=0;k<nor;k++)
  {
  cin>>allocation[k];

  }

}

 for ( k=0;k<nor;k++)
{for ( i=0;i<nop;i++)
{  sum=sum+allocation[k];}
 work[k]=inst[k]-sum;
 }

 }
 //-----------------------






getch();
}

الخطا يظهر في تعريف مصفوفه بعدد مدخل من المستخدم

المطلوب

هل يوجد امكانيه لحل هذا الخطا دون تغيير كبير في الكود مثل استخدام redim (اعادة تعريف المصفوفه)

اتمنى الرد السرييع انا محتاج البرنامج غدا

تم تعديل هذه المشاركة بواسطة الحلم الواعد في 14 مارس 2010 في 17:23

#2

اذا اردت استخدام مصفوفة تحدد حجمها بعد عمل البرنامج استخدم new

وهذا مثال بسيط:

#include <iostream>

using namespace std;

int main()
{
	int * aa;
	int s;
	cout << "Enter size:";
	cin>>s;

aa = new int ;

	for(int i=0;i<s;i++)
	cin>>aa;

	for(int i=0;i<s;i++)
	cout<<aa<<endl;
	cin.get();
	return 0;
}
tvquran_6.gif

#3

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

بس كيف اقدر استخدم هاذي الطريقه في المصفوفه ذات البعدين(الثنائيه)

لاني استخدمتها وما مشى البرنامج

using namespace std

     cin.get();

^^^^

هل لها علاقه بالموضوع ما وظيفتها بالظبط

اكرر شكري لك

#4

هذا مثال لمصفوفة ذات بعدين :

#include <iostream>
using namespace std;


int main()
{
int rows/*صفوف*/, columns/*اعمده*/;
int	**aa;
cout<<"Enter rows:";
cin>>rows;
cout<<"Enter columns:";
cin>>columns;


 	aa = new int *[rows];
 	for( int i = 0 ; i < rows ; i++ )
 	aa = new int [columns];

for( int i = 0 ; i < rows ; i++ ){
for( int j = 0 ; j < columns; j++ ){
cin>>aa[j];
}
}


for( int i = 0 ; i < rows ; i++ ){
for( int j = 0 ; j < columns; j++ ){
cout<<aa[j]<<" ";
}
cout<<endl;
}

	return 0;

}

بالنسبة لــ

using namespace std المصرفات الجديده تحتاجه

cin.get(); getch نفس عمل

tvquran_6.gif

#5

بيض الله وجهك وجزاك الله خير

رد وافي

مشكووووور مره ثانيه

#6

السلام عليكم ورحمة الله وبركاته >>> من جديد :blush:

لو بغيت ارسل المصفوفات اللي انشأتها بالمؤشرات (الثنائيه و الاحاديه ) لداله فرعيه كيف راح يكون شكلها في الاستدعاء وفي تعريف الداله

وكيف راح استخدمها داخل body للداله

 int * aa;
aa = new int ;

int     **aa;
 aa = new int *[rows];    
    for( int i = 0 ; i < rows ; i++ ) 
       aa = new int [columns];

اتمنى الرد العاجل

#7

ياااااااااا عرب الرجااااااااء المساعده

محتاج الكود ضرووري في اسرع وقت

#8

ضع المصفوفة مع بعدها:

void func1(int *arra,int n)
void func2(int **arra,int n,int m)
tvquran_6.gif

#9

الله يجزاك خير بس كيف راح استخدمها داخل الداله

وهل احتاج اسويلها انشاء او لا

وبعد انا محتاج ارسل اكثر من مصفوفه لنفس الداله كيف راح اميز بين الابعاد

تم تعديل هذه المشاركة بواسطة الحلم الواعد في 26 مارس 2010 في 20:05

#10

كود بسيط يشرح الفكرة:

#include<iostream>
using namespace  std;


void func1(int **ara1,int *ara2 ,int n1,int m1,int n2)
{
for(int i=0;i<n2;i++)
cout<<ara2<<" ";
cout<<endl;

for(int i=0;i<n1;i++){
for(int j=0;j<m1;j++){
cout<<ara1[j]<<" ";
}
cout<<endl;
}


}

int main()
{
int *a;
int **b;
a=new int[4];
for(int i=0;i<4;i++)
a=i+2;
 b=new int*[5];
 for(int i=0;i<5;i++)
 b=new int[7];

 for(int i=0;i<5;i++)
 for(int j=0;j<7;j++)
 b[j]=i+j;

func1(b,a,5,7,4);


}
tvquran_6.gif

#11

الله يوفقك دنيا وآخره

كلمة شكر ما توفي حقك

والله اني بلشتك بس سااامحني

ما قصرت

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

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

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

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

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