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

طلب كود برنامج في c++

مغلق
بدأه Mrs.Questions في 14 ديسمبر 2003 · 9 رد · 746 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ...... هذه أول مرة أشارك فيها في المنتدى وأتمنى إنكم تفيدوني وأفيدكم إن شاء الله ......

سؤالي هو : أبغا كود حق برنامج , فكرته : ( إنه ال user يدخل text ويخزنه البرنامج في string وبعدين البرنامج يشوف النص المدخل ويعمله compress (يعني ضغط) عن طريق إنه يعد الحروف المتشابهة ويخزن في string جديد كل حرف وجنبه كم مرة اتكرر وفي النهاية يطبع لي كمان كم حرف كان موجود في الجملة الأساسية (بدون التكرار ) ) .

وال out put حيكون زي كدا :(مثال بس )

Enter a text : aammmrrrrrrrggggg

Your new array : a2m3r7g5

Number of characters : 4

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

شكرا ..

تم تعديل هذه المشاركة بواسطة Mrs.Questions في 14 ديسمبر 2003 في 16:08

#2

البرنامج رائع أخوي ،، :)

بس ممكن ترسل لنا محاولتك ..؟؟

ومنها نقدر نساعدك فيها ..؟؟

و ترى فيها loop أكيييد ،، :)

و أهم شئ إنك لازم تعرف كيف تتحكم بالـ string

وتمشي على حرف حرف ،،

حتى توصل لنقطة ( تعرف منها ) إنك وصلت لآخر حرف ،،

و تحياتي لك ،،

أختك ،،

و

#3

أنا البرنامج نصه مشي معايا لكن حكاية إنه يكتب كل حرف وجنبه عدد مرات تكراره هذا اللي ماظبط معايا .... لكن برضو أنا حأكتب الكود اللي سويته وأنزله وياريت تقدري تساعديني .. ومرة شكرا

أختك ..

#4

و أنا بأحاول معاك ألحين ،، :)

و نسيت أرد السلام ،، :(

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

لي عودة :)

تم تعديل هذه المشاركة بواسطة العصاميه في 14 ديسمبر 2003 في 21:17

#5

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

#include <iostream.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
void compress (char text[],int n);
void display (char text[],int n,char newarray[],int x);
void main()
{
    char text[30];
    int len;
    cout<<"enter a text: ";
    gets(text);
    len=strlen(text);
    compress(text,len);
    display(text,len,text,len);
    getch();
}
//********************************
void compress (char text[],int n)
{
      char newarray[15];
      int count=0,w=0;
       for (int i=0,j=i+1;I<n;   )
       {
             do
             {
               if (text==text[j])
                {
                   count++;
                   i++;
                   j++;
                 }while (text=text[j]);
                 newarray[w]=text;
                 newarray[w+1]=count;
                 count=0;
                 i++;
                 j++;
                 w+=2;
          }
    }
//***************************************
void display (char text[],int n,char newarray[],int x)
{
     x=strlen(newarray);
     int sum=0;
     for (int i=0;i<x;i++)
         cout<<newarray;
     for (int j=0;j<n;j++)
     {
         if (text[j]!=text[j+1])
            sum++;
      }
     cout<<"Number of characters= "<<sum;
}

تم تعديل هذه المشاركة بواسطة Mrs.Questions في 14 ديسمبر 2003 في 23:19

#6

اتفضلي أختي ،، توي عملتها ،،

و لو فيها أي إيروور ،، فلا تترددي ،،

و الله يعطيك العافية على برنامجك و محاولتك ،،

و راح أطالع فيها و أحاول إني ألاقي الغلط اللي فيه ،، :)

#include<iostream.h>
#include<string.h>
#include<stdlib.h>

void main()
{
	const int max=30;
	char text[max], letterInText, newArray[max], ans;
	char letter[27]="abcdefghijklmnopqrstuvwxyz"; //all small letter from a to z .
	int len, count, n=0, res;

	//-*-*-*-*-*-*-*-*-*-*-*-*

	system("color 1f");
	cout<<"\n\n\t\tWELLCOME IN MY PROGRAM FOR Mrs.Questions ... ^_^ \n\n\n";
	cout<<"***********************************\n\n";

	cout<<"Please ,,, Enter the text :\n";
	cin>>text;

	len=strlen(text); 

	//-*-*-*-*-*-*-*-*

	for(int i=0; i<27; i++) // size of letter from a to z 
	{
  count=48;//ascii code of zero...
  
  for(int j=0; j<len; j++)
  {
 	 if(letter==text[j]) // compare 
 	 {
    letterInText=text[j];
    count++; // counter 
 	 }//end if
  }//end for
  
  if(count!=48) //found and equal or more than one
  {
 	 newArray[n]=letterInText;
 	 n++;
 	 
 	 newArray[n]=count;//convert the nomber to char
 	 n++;
  }//end if
	}

	//-*-*-*-*-*-*-*-*-*-*

	cout<<"\n\n*************************\n\n";
	cout<<"Your new array is : \n";
	for(int k=0; k<n; k++)
  cout<<newArray[k];

	//-*-*-*-*-*-*-*-*-*-*

	cout<<"\n\n*************************\n\n";
	cout<<endl;

	res=n/2;

	cout<<"Number of characters in text : \n"<<res;
	cout<<endl;

	cout<<"\n\n\n\n----------------------------------------\n\n\n\n";

	cout<<"Are u need another thing Mrs.Questions ..?? \n pree ( y ) if you need ";
	cin>>ans;
	if((ans=='y')||(ans=='Y'))
  cout<<"\n\nWellcome any time .. your sister Asoooomah... :)\n\n\n";
	else 
  cout<<"\n O.K. ....Good bay...\n\n\n";

}//end main

دعواتك ،،

#7

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

بس يارب يطلع هو المطلوب ،، :(

#8

بداخل الـ function ،،

compress

قوس الـ if ،، اللي قبل الـ while ،، ناقصتك ،،

و الشئ الثاني ،،

حرف الـ I ،، غير معرفة ،،

أظنك تقصدين ،، بالحروف الصغيرة ،،

      for (int i=0,j=i+1;I<n;   )

و لو تبغي البرنامج بالدوال ،، فمو مشكلة ،،

لكن طريقة تفكيرك بالحل ،، مبدئياً ،،

طريقة رائعة و تبشر بخير ،، :)

استمري و شدي حيلك ،،

أختك ،، :)

#9

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

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

بالتوفيق ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#10

من جـــــد مــــــــرة شكـــــــرا ياأختي العصامية وماقصرتي والله وسامحيني تعبتك معايا

.....

الله يعطيكي ألف عافية إن شاء الله

ومعليش الكود لمن نزلته أول مرة كان مو واضح لأنه كمبيوتري علق وقتها بس دحين صلحته وسار واضح وال ( i ) زي ماقلتي قصدي الصغيرة بس غلطة مطبعية ..

مشكورة ..

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

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