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

ممكن المساعده في برنامجين

مغلق
بدأه nmr في 3 ديسمبر 2001 · 8 رد · 630 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم انا اول مره اشارك بالمنتدى هذا بصراحه عندي برنامجين انا مبتدئ جدا بلغة السي يعني ما صار لي فتره ادرسها البرنامج الاول

A) Write a program that:

1. Reads two arrays of type integer and prints them. Assume that the two arrays are of the same size.

2. Sorts the two arrays in ascending order, and prints the sorted arrays.

3. Merges the sorted arrays, storing the result in a third array (still sorted in ascending order). Do not sort the third array!

4. Prints the third array.

Hint: When one of the input arrays has been exhausted, do not forget to copy the remaining data of the other array into the result array.

Test your program with cases in which:

a) The first array is exhausted first.

B) The second array is exhausted first.

c) The two arrays are exhausted at the same time i.e., they end with the same value.

d) Remove the duplicate entries from the final sorted list.

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

البرنامج الثاني:

Write a program that reads words from a file (until the end of that file) and prints the frequency of each word in the file.

For example, if the input file contains the following data:

The C language is a high level language. We study this language in the CS101 course.

Then, the output should be:

Word Frequency

------ ------------

The 2

C 1

language 3

is 1

a 1

high 1

level 1

We 1

study 1

this 1

in 1

CS101 1

course 1

بصراحه هذا البرنامج كله ما فهمته

واتمنى المساعده بقدر الامكان وشكرا

#2

السلام عليكم

أناممكن أساعدك ولكني ضعيف في الغه الانجليزيه:o

أنا فهمت شوى

بلا زعل خلها عربي:D

#3

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

#4

بالنسبه للسؤال الاول انا عرفت احله الحمد لله بس السؤال الثاني عرفت احل نصه وياليت اهل الخبره يساعدوني في فكرة الباقي من الحل الي انا حليته هو:

#include 
#include 
int main(void)
{
    int y,c=0,i,j,d=1;
    char x[100][100];

    FILE *inp;

    inp = fopen("words.dat","r");
    printf("       words        freqencynn");
    y = fscanf(inp,"%s",x[c]);
    for( ;y!= EOF; )
    {	  
        d=0 ;
        for(i=c;i<=c;i++)
        {
	for(j=0;j<=c; j++)
	{
	        if(strcmp(x,x[j])==0)
	            ++d ;
	}

	printf("%12s  ",x[c]);
	printf("%9d",d);
         }

         printf("n");
         ++c;
         y = fscanf(inp,"%s",x[c]);
    }
    fclose(inp);
    return(0)
}

انا عرفت اجيب كل كلمه كم مره تكررت بس ما قدرت الغي الكلمه الي متكرره وازيد الكلمه الاصليه زي ما هو مطلوب بالسؤال فوق .

وياليت احد يساعدني ولو بفكره.وشكرا

#5

للرفع لعل وعسى احد يساعدني

#6

أخي nmr تمنيت حقاً ان استطيع مساعدتك ولكن(الإختبارات).

الفكرة في القراءه من ملف حتى نهايتة بالامر

while(!feof(filename));

ومن ثم تبحث عن الكلمة بالامر

strstr("text","word in text");

وتعيد هذه الدالة مؤشر إلى بداية الكلمة المراد البحث عنها

وبعد ذلك تزيد العداد 1 ثم تزيد المؤشر أيضاً 1 لحساب تكرار الكلمة.

أنا بصراحة داري أنك ما فهمت شئ (شرح على السريع)

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

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

#7

السلام عليكم.

أخي هذا هو البرنامج :

#include 
#include 
int main(void)
{
    int y,c=0,i,j,d=1;
    char x[100][100];
    char word[100];
    int count[100];
    bool found ;

    for(i=0;i<100;i++)
        count = 0 ;

    FILE *inp;

    inp = fopen("words.dat","r");
    y = fscanf(inp,"%s",word);
    for( ;y!= EOF; )
    {	  
        d=0 ;
        found = false ;
        for(i=0;i        {
	if(strcmp(x,word)==0)
	{
                      ++count ;
                      found = true ;
                };
         }

         if ( !found )
         {
              strcpy(x[c] , word);
              ++c;
          };

         y = fscanf(inp,"%s",word);
    }
    fclose(inp);
    printf("       words        freqencynn");

    for(int i=0;i    {
          printf("%12s  ",x);
          printf("%9d",count);
          printf("n");
    }

    return(0)
}

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

مع التحيات.

#8

شكرا جزيلا على المساعدة وما تقصرون والبرنامج اشتغل تماااام

#9

السلام عليكم.

مييييية السلاااااااااااامة أخي :):)

مع التحيات.

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

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