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

مساعدة في الحصول على كود

مغلق
بدأه alr7al2002 في 26 أكتوبر 2003 · 17 رد · 1,680 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم في الحقيقة اريد ان احصل على كود يقوم بالقراءة من ملف يحوي ارقام غير مرتبه ثم يقوم بترتيبها عن طريق function soft طبعا الترتيب يكون تصاعدي والارقام المتشابهه يكتبها مرة واحدة ولا يكررها ويقوم البرنامج بكتابة الارقام في الملف نفسه ولكن بشكل مرتب وايضا القيم يجب ان تكون 100 قيمة

شكرا مع السلامة

#2

السلام عليكم

اولا مبروك عليكم الشهر الكريم

ثانيا اين ردود الشباب

يالله مع السلامة

#3

ياليتك متصل معي على شان نتواصل وابشر بالكود

#4

السلام عليكم

شكرا لك اخي الكريم على هذا التواصل

يقوم البرنامج بفتح ملف طبعا يكتب عن طريق المستخدم ثم يقوم البرنامج بقراءة الملف

الذي يحتوي على ارقام غير مرتبه وضيفته هو ترتيب الارقام وعدم تكرير الرقم المكرر اكثر من مرة ثم الكتابة في ملف ايضا ينشاء عن طريق اضافة اسم الملف من المستخدم

البرنامج يتكون filesort input_file output_file

من ثلاث وضائف الاولى للقراءة

int readvalues ( FILE *input, int max_values, int values[] )

الثانية لكتابة الملف

 void writevalues ( FILE *output, int count, int no_dups, int values[] )

والثالثة لترتيب الارقام وتقوم بحذف الارقام او كتابة الارقام المكررة مرة واحدة وايضا الدالة تقوم بترتيب الارقام تصاعديا من الصغير الى الكبير

void sort ( int count, int numbers[] )

والمصفوفة تحدد فقط بمائة رقم

يالله مع السلامة

#5

السلام عليكم طبعا البرنامج يجب ان يكون بلغة السي اي نستخدم

fopen and fclose

وهكذا

مع السلامة

#6

السلام عليكم

أين الردود يا اخوان

مع السلامة

#7

السلام عليكم لماذا لا يرد علي احد

ارجوكم ساعدوني

مع السلامة

#8

السلام عليكم صارلي خمس ايام اكتب ولكن ما من مجيب ما عرف ليش

الرجاء المساعدة

مع السلامة

#9

السلام عليكم ياأخ alr7al2002

سأحاول أن أكتب لك الكود اليوم باذن الله ... ولايهمك

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#10

اشكرك اخي الكريم ولكن ياريت يكون البرنامج بلغة السي ونستخدم fopen fclosse

fprintf fdcanf ويجب ان يتكون نت ثلا ث وضائف التي في الاعلى وحجم المصفوفة 100 عنصر فقط وشكرا مرة اخرى

تم تعديل هذه المشاركة بواسطة alr7al2002 في 1 نوفمبر 2003 في 23:27

#11

السلام عليكم

هذا هو الكود كما وعدتك ....

//Note You must first Put data in file read.txt 
//The The Arranged Data will be in finall.txt ....
//This tow files is in your Program Folder ...


#include <iostream.h>
void swap(int& x,int& y)
{
	int temp;temp=x;x=y;y=temp;
}
int* arranged_numbers;

int* sort ( int& count, int* numbers )
{	
	int big,big_index,small=numbers[0];
	arranged_numbers=new int[count];
	int z=0;

	for(int x=0;x<count;x++)
  if(small>numbers[x])small=numbers[x];

	for(int x=0;x<count;x++)
	{	big=numbers[0];
  
  for(int y=0;y<count;y++)
  if(numbers[y]>big){big_index=y;big=numbers[y];}
 	 
  if(x==0)arranged_numbers[z]=big;

  if(arranged_numbers[z]!=big){z++;arranged_numbers[z]=big;}
  

  numbers[big_index]=small;

	}

	count=z+1;

	return arranged_numbers;

}
void writevalues ( FILE *output, int count,/*we dont need it (int no_dups),*/ int values[] 

)
{

for(int x=0;x<count;x++)
	fprintf(output,"%ld",values[x]);

}


int readvalues ( FILE *input, int max_values, int* values )
{

	for(int x=0;x<max_values;x++)
	fscanf(input,"%ld",values[x]);
	int * Num;
	Num=sort(max_values,values);

	FILE* output;
	output=fopen("Finall.txt","w");
	writevalues(output,max_values,Num);

	fclose(output);
	return 0;
}


int main(int argc, _TCHAR* argv[])
{	

	FILE* read_file;

	const int SIZE=10;
//Your Data Gust Change the value of SIZE to 100 as you like ... And Put the data in the	
int data[SIZE]={1,2,3,8,4,5,0,9,6,8};
	read_file=fopen("read.txt","w");
//Put the data in File read.txt ......	
	for(int x=0;x<SIZE;x++)	
	fprintf(read_file,"%d",data[x]);

//Begine Reading from file read.txt and sort the data and write it to a new file called 

//finall.txt

	readvalues(read_file,SIZE,data);
	fclose(read_file);

	return 0;
}

لاحظ اني افترضت حجم المصفوفة 10 يمكنك تغيرها لكن يحب زيادة ال data أيضا....

ولتسهيل القراءة اليك الملف

Code_FILE.txt

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#12

السلام عليكم

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

/**********************************/

مثال

write the file name you want to read :

المستخدم يضع الملف

write the file name you want to write :

المستخدم يضع الملف

ثم يقوم الملف بالقراءة ثم الترتيب ثم الكتابة في الملف اخر

هذا الملف الذي به الارقام وهي غير مرتبه هنا

مثلا نقوم بفتح البرنامج فنجد

write the file name you want to read :

طبعا نكتب الملف num.txt

write the file name you want to write :

فنكتب مثلا num1.txt

فيقوم البرنامج بانشاء الملف num1.txt ويقوم بكتابة الارقام المرتبه فيه

وياريت يكون الترتيب بشكل تصاعدي من الصغير الى الكبير وبشكل عمودي

1

2

3

4

وهكذا

الحقيقة اني اتعبتك معي ولكن استحمل فلك الاجر عن الله ان شاء الله

تم تعديل هذه المشاركة بواسطة alr7al2002 في 2 نوفمبر 2003 في 05:45

#13

السلام عليكم

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

/**********************************/

مثال

write the file name you want to read :

المستخدم يضع الملف

write the file name you want to write :

المستخدم يضع الملف

ثم يقوم الملف بالقراءة ثم الترتيب ثم الكتابة في الملف اخر

هذا الملف الذي به الارقام وهي غير مرتبه هنا

مثلا نقوم بفتح البرنامج فنجد

write the file name you want to read :

طبعا نكتب الملف num.txt

write the file name you want to write :

فنكتب مثلا num1.txt

فيقوم البرنامج بانشاء الملف num1.txt ويقوم بكتابة الارقام المرتبه فيه

وياريت يكون الترتيب بشكل تصاعدي من الصغير الى الكبير وبشكل عمودي

1

2

3

4

وهكذا

الحقيقة اني اتعبتك معي ولكن استحمل فلك الاجر عن الله ان شاء الله

تم

#14

السلام عليكم

بالنسبة للترتيب انا اسف قمت بترتيبه تنازليا ولم أنتبه وسأقوم بعكسه .

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

ثم اذا كانت مدخلة من البداية فبأي صيغة سيتم ادخالها ....؟

هل بصيغة ملف Num.txt المرفق حيث سيكون هناك فواصل بين كل رقم والاخرسطر جديد وهو عبارة عن حرف الادخال 'r/' ..... ام سيكون بصيغة أخرى لأن الفرق كبير في الحاتين ....

أرجو التوضيح .

تم تعديل هذه المشاركة بواسطة HGB في 2 نوفمبر 2003 في 05:50

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#15

السلام عليكم الملف يحوي الارقام انا فقط اكتب اسم الملف المراد قراءته و اكتب الملف

الذي اريد الكتابه فيه

طبعا اي ملف يكون به ارقام وليس بالشرط ان يكون num.txt

الملف هو http://almazrooei.net/num.txt وبه الارقام غير مرتبه وبشكل عمودي

ما علي غير ترتيبها وكتابتها مرتبه وبنفس النمط اي بشكل عمودي بفس ما هي موجودة في الملف

مع السلامة

تم تعديل هذه المشاركة بواسطة alr7al2002 في 2 نوفمبر 2003 في 05:55

#16

السلام عليكم أخي HGB

ياريت تجعل هذا البرنامج نفس طريقة البرنامج الذي وضعته في المشاركة (تصحيح برنامج )

اي نستطيع ان ندخل اسم الملف المراد قراءته وايضا الملف الذي نريد كتابته بحيث يطبع الارقام بالترتيب وبشكل عمودي

يالله مع السلامة

#17

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

لا أعرف إن كنت قد وجدت الحل أم لا وسأعطي هنا محاولة أخرى.

في الملف المضغط المرافق ستجد ملفان exe وملفان CPP يحتويان على الكود.

في الملف EnterNumber سوف يطلب منا إدخال الأرقام التي نريد ترتيبها وقد اكتفيت ب 20 رقما هنا ولكن يمكنك تغيير هذا بتغيير قيمة tot في الكود . وحين ندخل الأرقام الغير المرتبة سوف تسجل في ملف اسمه numfile.dat ويحفظ في القرص D وهنا أيضا يمكن تغيير المسار واسم الملف مع المراعات في تغييرها في الملف الثاني.

بعد هذا البرنامج Arrange سيفتح هذا الملف يقرأ الأرقام يرتبها ويسجل هذه الأرقام المرتبة في ملف اسمه Arranged.dat على القرص D دائما ويعطينا الترتيب أيضا على الشاشة ويعطينا عدد الأرقام المتشابهة علما أن هذه الأخيرة لا تتعاود كما طلبت.

وهنا أيضا اكتفيت ب 20 رقما وإذا أردت تغيير هذا يمكنك تغيير قيمة tot وتغيير Num[20] و ArrangedNum[20] نغير 20 بنفس قيمة tot أي عدد الأرقام التي نريد ترتيبها.

والطريقة التي أستعملتها في الترتيب وهي :

نأخذ الرقم الأول ونضعه في أول الذاكرة المخصصة لعدد الأرقام التي سنستعمل ArrangedNum وهذه الذاكرة نكون قد ملأناها كلها بأكبر عدد int ممكن بعد هذا نأخذ الرقم التالي ونقارنه فإذا كان أكبر سيوضع في الذاكرة الموالية وإذا كان أصغر سندرج الرقم السابق إلى الذاكرة الموالية بينما يأخذ هذا مكانه وإذا كانا متساويان لا نعمل شيئا لأننا لا نعيد الأرقام المتساوية.

أتمنى أن تجد في هذا البرنامج ما كنت تبحث عنه وإلى اللقاء.

ArrangeNumbers.zip

#18

السلام عليكم

هاهو الكود كما وعدتك ويعمل بدون مشاكل ...

ولايطبع الاعداد المكررة في الملف ... ودون الحاجة لوجود أول رقم ...

ويمكنك التأكد من عمله باعطاءه ملف يحوي أرقام الفاصل بينها سطر جديد " مفتاح الادخال ENTER " ... يمكنك تحريره بواسطة ال NOTE PAD ... واليك الكود...

Debug_arabteam.cpp

banner_60_468.gif

NOTHING IS IMPOSSIBLE

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

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

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

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

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

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