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

دالة لمعرفة ترتيب الحرف الأبجدي

بدأه ABCDEFG في 5 يوليو 2009 · 7 رد · 501 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أريد دالة لمعرفة ترتيب الحرف الأبجدي.....

مثلا..

ترتيب a 1

b 2

وهكذا...........

#2

جرب هذا الكود :

#include <ctype.h>

/*
	تقوم هذه الدالة بحساب مرتبة حرف اسكي
	Case insensitive...
*/
int GetCharRank(const char c)
{
	if(isalpha(c)) { // يجب أن يكون حرفا لاغير
		char cc = tolower(c); // Case insensitive
		return (int)cc - 'a' + 1; // الرتبة ابتداءا من 1
	}
	return -1; // في حالة الخطأ المرتبة تكون تحت الصفر
}

void main(void)
{
	int i = GetCharRank('a'); // 1
	i = GetCharRank('A'); // 1 Case insensitive
	i = GetCharRank('z'); // 26
	i = GetCharRank('1'); // -1 في حالة الخطأ
}

تم تعديل هذه المشاركة بواسطة محمد رضى في 5 يوليو 2009 في 22:47

#3

سهلة اخوي,,

اتفضل

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

int main() {
		char c;
		scanf("%c", &c);

		if( c >= 'a' && c<= 'z' )
			printf("%d", (int)c - 'a' + 1);  
		else if( c >= 'A'  && c <= 'Z' )
			printf("%d", (int)c - 'A' + 1);
		getch();
		return 0;
}

تم تعديل هذه المشاركة بواسطة MoHammaD_93 في 5 يوليو 2009 في 23:20

SAFETY TIP : Always delete what you new, and free what you malloc, never mix new with free or malloc with delete.

#4

شكراً جزيلاً أخي الكريم

تقريبا وصلت للحل

بس أنا قصدي دالة تستقبل متغير نصي و ترجع برقمه

مثلاً

cin >> c ;

return 3 ;

#5

قمت بتعديل مشاركتي السابقة,,

تحياتي

SAFETY TIP : Always delete what you new, and free what you malloc, never mix new with free or malloc with delete.

#6

مشكوور جدا ....

هذا هو المطلووب

بس ممكن شرح للدالتين

scanf

getch();

بعد ازنك

#7

scanf دالة قياسية تقوم بإستقبال المدخلات عن طريق مسار الدخل القياسي (الكيبورد)

لمعرفية كيفية التعامل معها,,, تفضل: http://www.cplusplus.com/reference/clibrary/cstdio/scanf/

getch هذه الدالة معرفة في conio.h

تقوم بإنتظار إدخال حرف من الكيبورد

قمت بإستخدامها حتى لا تختفي شاشة الكونسول, لترى النتائج,, حاول إزالتها من البرنامج ولاحظ الفرق

تحياتي

SAFETY TIP : Always delete what you new, and free what you malloc, never mix new with free or malloc with delete.

#8

جرب هذه

 

[color= #007f00;]#include <iostream>

[color= #0000ff;]using [color= #0000ff;]namespace std;

 

[color= #0000ff;]inline [color= #0000ff;]int getindex[color= #000000;]([color= #0000ff;]char c[color= #000000;]);

 

[color= #0000ff;]void main[color= #000000;]([color= #000000;])

[color= #000000;]{

	[color= #0000ff;]char x;

	cout [color= #000000;]<< [color= #A31515;]"type character: ";

	cin [color= #000000;]>> x;

	cout [color= #000000;]<< [color= #A31515;]"character index is : " [color= #000000;]<< getindex[color= #000000;](x[color= #000000;]) [color= #000000;]<< endl;

 

[color= #000000;]}

 

[color= #0000ff;]inline [color= #0000ff;]int getindex[color= #000000;]([color= #0000ff;]char c[color= #000000;])

[color= #000000;]{

	[color= #0000ff;]return [color= #000000;](c [color= #000000;]>= [color= #A31515;]'a' ? c [color= #000000;]- [color= #A31515;]'a' [color= #000000;]: c [color= #000000;]- [color= #A31515;]'A'[color= #000000;]) [color= #000000;]+ [color= #ff0000;]1;

[color= #000000;]}

لاحظ ان هذه الداله تتعامل مع الحروف فقط

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

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