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

مصفوفة unknown size

مغلق
بدأه hahmix في 24 أبريل 2007 · 15 رد · 1,230 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

يا اخوان كيف ممكن عمل مصفوفة غير محدودة الحجم يعني المستخدم هو الي يدخل حجمها

أنا حاولت بس للأسف بعطيني خطأ :wacko:

error C2133: 'b' : unknown size

#include <iostream.h>

void main()

{

int a;

cin>>a;

int b[a];

}

#2

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

اريد كود يحدد حجم المصفوفة

Dr.Pain

#3

شكرا أخي على الرد بس المشكلة اني لسى مبتدىء

وللأسف ما بعرف اشي عن المؤشر

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

حاولت ادخل عناصر المصفوفة واطبعها

بس ما بعرف في خطأ في الطباعة ..

#include <iostream.h>

void main()

{

int *p;

int N;

cin >> N;

p= new int [N];

for(int i=0;i<=N;i++)

cin>>p[N];

for (int d=0;i<=N;i++)

cout<<p[d]<<endl;

}

#4

ذاكر dynamic memory alloacation

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#5

شكرا اخي احد ان شاء الله راح ابحث عن هذا الموضوع

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

int a[ ]

يعني هيك اشي في حد بعرف عنها اشي ..

#6

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

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

int a[ ]

مثال :

int arr[] = { 1, 2, 3 };

هذه الصيغة هي نفس التالية بالضبط

int arr[3] = { 1, 2, 3 };

في الأولى سيقوم المترجم بحساب عدد العناصر بدلاً من كتابتها فقط لا أكثر :D

تحياتي ,,

#7

اخي خالد شكرا ولله هاي معلومة اجديدة ما علمنا اياها الاستذاذ :angry:

بس هاي نفس الاشي لازم اتكون تعرف عدد عناصر المصفوفة :s

#include <iostream.h>
void main()
{
	int arr[];
	int a;
	cin>>a;


	for(int i=0;i<=a;i++)
		cin>>arr;



}

بتقدر اتعدل هذا الكود :rolleyes:

#8
اقتباس
بس هاي نفس الاشي لازم اتكون تعرف عدد عناصر المصفوفة

أخي العزيز ,, في المثال الذي ذكرته أنا في الأعلى ,, عدد العناصر يتحدد إما بذكر العناصر أو بذكر حجم المصفوفة صراحة ,,

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

#include <iostream>
using namespace std;
int main()
{
	int *arr;
	int a;
	cin >> a;
	arr = new int[ a ];

	for( int i = 0; i < a; i++ )
		cin >> arr;

	return 0;
}

تحياتي

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 25 أبريل 2007 في 17:02

#9

شكرا أخي خالد ولله غلبتك معاي

بس بدي اسأل سؤال في طريقة غير طريقة استخدام المؤشر

#10
اقتباس
بس بدي اسأل سؤال في طريقة غير طريقة استخدام المؤشر

حسب علمي ,, إما مصفوفة ثابتة أو مؤشر ,, لا توجد طريقة أخرى أخي العزيز ,,

تحياتي ,,

#11

بارك الله فيك أخي خالد وشكرا لكل من ساعدني :rolleyes:

انا راح أحاول اكمل الحل لحالي -_- اذا ما اعرفت راح راجعلكم <_<

ولي هو :wacko:

تعمل مصفوفة 2 دايمنشن غير محدودة

وتدخل عناصرها بعدين اترتبها تصاعدي

و بس ... :blink:

#12

ما بتزبط با اخي بدون بوينتر ولكن بالجافا مافي مشكلة.

#13

شكرا اخي المارد على التأكيد

ان شاء الله راح اتعلم البوينتر :rolleyes:

#14

الغريب ان الكومبايلر الـ g++ اتوقع يقبل الامر هذا :)

لكم الـ VC++ لا !

#15

اذا بتحتاج لشرح البوينتر خبرني وان شاء الله بنوضحلك اياه...

#16
اقتباس
اذا بتحتاج لشرح البوينتر خبرني وان شاء الله بنوضحلك اياه...

اه ولله يا ريت ..

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

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