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

الى خبراء التعامل مع سلاسل الحرف

مغلق
بدأه aloiseau2001 في 1 يونيو 2002 · 11 رد · 804 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اذا فرضنا ان لدي سلسلة من الشكل

String SS=[1234]

كيف يمكن ان استخلص منها السلسلة 1234 اي اريد ان احذف منها الحرف الاوا والحرف الاخير

تحياتي

#2

من المروف ان string ss

يمكن اخذ كل حرف عل حدا

ss[0]=1

ss[1]=2

ss[2]=3

ss[3]=4

حاول فيها وبعدين تاخذ الاجابة

#3
/*  منتديات الفريق العربي للبرمجة
    العزيزي					 */


#include
#include
using namespace std;

int main()
{
    string ss="1234";				     //cin>>ss;
    cout<    ss=ss.substr(1,ss.length() -2);	     //operation
    cout<    return 0;
}
#4

مشكور يالعزيزي على ردك

#5

الان عندي لك سؤال وللجميع المشاركة

String SS=[1234]

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

يعني

بدل من 1234

يكون 4321

فكرة حلوة صح (الجواب على لساني)(انا لست خبيراء ولكن اتفنن في بعض الاحيان)

;)

#6

سهل جدا اخوي العزيزي دخل كل حرف في مكدس ( Stack )

و عندما تخرجها و تطبعها ستكون معكوسة :)

مع تحياتي ,,,

#7

:eek: :eek:

talal what is this solution?????

you should think about it more ;)

if u use string in C++ just use the member function reverse..

if u use regular C string then swap each two characters from the two ends starting from the ends to the center. This means you will iterate length/2 times..

Coding on the Cloud and for the Cloud!

My Blog

#8

أهلين أستاذي هاني :o

عارف الداتا ستركشر مأثرة علي شوي :D

عموماً انا لم افكر على الاطلاق قمت بوضع اول فكرة خطرت في بالي :D

عموماً فعلاً معاك حق و هذا كود الطريقة الاسلم:

#include 
#include 
#include 
main()
{
	char *s, temp;
	int i, len, count;

	s = (char *)malloc(sizeof(char));

	printf("?");
	gets(s);

	len = strlen(s);
	count = len ;

	for( i = 0 ; i < ( len / 2 )  ; i++ )
	{
		temp = s;
		s = s[count-1];
		s[count-1] = temp;  
		count -- ;
	}
	printf("%snn",s);
}

عارف انه من المفروض اني اسوي free للسلسلة و لكن كان يعطيني

خطاء وقت التنفيذ في الجملة free . !!!! ؟؟؟

مع تحياتي ,,,

#9

your code is better to be like this:

	count = strlen(s) - 1;
	i = 0;

	for( ; i < count; i++, count--)
	{
		temp = s;
		s = s[count];
		s[count] = temp;  
	}

no need for len and no need for the devision

Coding on the Cloud and for the Cloud!

My Blog

#10

حلول شباب

الحل مثل ما قال هاني

وايضا جرب حل talal*c (لكن بعض الدوال غير واضح لي) ولكن صحيح

ولكن مشكور ل هاني على المشاركة talal*c

ولكن لماذا هذا الجمواد في المنتدى منذ 3 ايام والمواضيع كما هي

:cool:

#11

this solution is better:

void strrev(char *str)
{
	char *lpEnd = str + strlen(str) - 1;

	for (; str < lpEnd; str++, lpEnd--)
		swap(*str, *lpEnd);
}

Coding on the Cloud and for the Cloud!

My Blog

#12

و تضل أستاذ الجميع هاني ;)

مع تحياتي ,,,

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

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