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

ترتيب مصفوفة

مغلق
بدأه hahmix في 5 مايو 2007 · 6 رد · 757 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
#include<iostream.h> 
#include<stdio.h> 
#include<conio.h> 
void enterr(); 
void print(); 
void sorting(); 
int  size; 
float a[3][3]; 
void main () 
{ 
int clrscr(); 
cout<<"welcom to c++"; 
cout<<endl; 

enterr(); 
print(); 
sorting(); 

cout<<"sorting of array"; 
print(); 
cout<<endl; 

cout<<endl; 

cout<<endl; 
getchar(); 
} 
void  enterr() 
{ 
size =3; 
int x; 
cout<<"if want change size of array to other size press<1>"; 
cin >>x; 
if(x==1) 
{ 
cout<<"please insert size of array="; 
cin>> size; 
} 
for(int i=0;i< size;i++) 
{ 
for(int j=0; j<size;j++) 
{ 
cout<<"ENTER1 ARRAY["<<i<<"]["<<j<<"]"<<endl; 
cin>>a[j]; 
} 
} 

} 

void print () 
{ 
cout<<endl; 
cout<<"================="; 
cout<<"print array:"; 
cout<<"================="; 
for(int i=0;i< size;i++) 
{ 
cout<<" ]"; 
cout<<endl; 
cout<<"["; 
for(int j=0; j<size;j++) 
cout<< "  "<<a[j]; 
} 
cout<<" ]" <<endl; 
cout<<"=============================================="; 
cout <<endl; 
} 
void  sorting () 
{ 
int n ,i ,j,temp ,temp2; 
for(n=0;n<(size*size);n++) 
for(i=0;i<size;i++) 
{ 
for(j=0;j<size-1;j++) 
{ 
if(a[j]>a[j+1]) 
{ 
temp=a[j]; 
a[j]=a[j+1]; 
a[j+1]=temp; 
} 
if(a[size-1]>a[i+1][0]&&a[size-1]!=a[size-1][size-1]) 
{ 
temp2=a[size-1]; 
a[size-1]=a[i+1][0]; 
a[i+1][0]=temp2; 
} 
} 
} 
}

مطلوب تصحيح الأخطاء

وظيفة البرنامج ادخال مصفوفة غير محدودة الحجم

وترتيبها

#3

الأخ الفاضل ...

جرب استخدام الكود التالى

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

int		enterr(float **a);
void	print(float *a, int size);
void	sorting(float *a, int size);

void main()
{ 
	int		size;
	float	*a = 0;

	cout << "Welcom to C++ ...";
	cout << endl;

	size	= enterr(&a);

	if (size)
	{
		print(a, size);
		sorting(a, size);

		cout << endl << "Sorting of array...";
		print(a, size);
		cout << endl;

		if (*a)
			delete a;

		getch();
	}
}

int enterr(float **a)
{
	int		size;

	cout << "Please enter the size of the array: ";
	cin >> size;

	if (size > 0)
	{
		*a	= new float[size*size];

		cout << endl;
		for(int i=0; i<size; i++)
		{
			for(int j=0; j<size; j++)
			{
				cout << "Enter value for Array[" << i << "][" << j << "]: ";
				cin >> *(*a+i*size+j);
			}
			cout << endl;
		}
	}
	return size;
}

void print(float *a, int size)
{
	cout << endl;
	cout << "=================";
	cout << " Print the array ";
	cout << "=================";

	for(int i=0; i< size; i++)
	{
		cout << " ]";
		cout << endl;
		cout << "[";
		for(int j=0; j<size; j++)
			cout<< "  " << *(a+i*size+j);
	}

	cout << " ]" << endl;
	cout << "==============================================";
	cout << endl;
} 

void sorting(float *a, int size)
{
	int		n ,i ,j;
	float	temp, temp2;

	for(n=0; n<(size*size); n++)
		for(i=0; i<size; i++)
			for(j=0; j<size-1; j++)
			{
				if(*(a+i*size+j) > *(a+i*size+j+1))
				{
					temp=*(a+i*size+j);
					*(a+i*size+j)=*(a+i*size+j+1);
					*(a+i*size+j+1)=temp;
				}
				if(*(a+i*size+size-1)>*(a+(i+1)*size) && *(a+i*size+size-1)!=*(a+size*size-1))
				{
					temp2=*(a+i*size+size-1);
					*(a+i*size+size-1)=*(a+(i+1)*size);
					*(a+(i+1)*size)=temp2;
				}
			}
}

شكراً

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#4

انا مش عاملها حزيرة <_<

انا طالب حد يصححلي الأخطاء لأنو مش شغال معي منيح ومش عارف وين الغلط

#5

شكرا أخي اسامة بجد شغل رائع مش عارف كيف أشكرك

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

بس عندي سؤال لو بدي أدخل عدد المصفوفة طول بعرض

يعني أحكيلو أدخل طول المصفوفة بعدين أدخل عرضها حتى اني أكون دقيق في عدد عناصر المصفوفة

#6

استخدم متغيرين sizeX و sizeY ، وحجز الذاكرة هيكون

*a	= new float[sizeX*sizeY];

وتكمل باقى التغيرات فى البرنامج

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#7

شكرا أخي أسامة ولله انك مميز :D

لا تكفيك الكلمات حقك

بوركت اخي الكريم على المجهود

تحيتي

تم تعديل هذه المشاركة بواسطة hahmix في 6 مايو 2007 في 16:06

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

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