رفتن به مطلب

برنامه نویسی c++ - آموزش و سورس برنامه ی سی پلاس پلاس


poor!a

ارسال های توصیه شده

strcmp تابع مقایسه دو رشته، موجود در cstring.h

 

شکل کلی:

;(رشته 2 ,رشته 1)int result=strcmp

 

مثال:

 

int result=strcmp(str1, str2);

//end

این تابع شروع به مقایسه ی کاراکتر های هر دو رشته از ابتدا ی آنها میکند تا به اولین مورد اختلاف برسد. اگر کاراکتر مربوط به رشته ی 1 بزرگتر از کاراکتر مربوط به رشته ی 2 باشد، مقداری مثبت یعنی عدد 1 را برمیگرداند.این بدان مفهوم است که str1>str2. هم چنین به عکس اگر کاراکتر مربوط به رشته ی 1 کوچکتر از کاراکتر مربوط به رشته ی 2 باشد، مقداری منفی یعنی عدد -1 را به مفهوم اینکه str1

لینک به دیدگاه
  • پاسخ 172
  • ایجاد شد
  • آخرین پاسخ

بهترین ارسال کنندگان این موضوع

بهترین ارسال کنندگان این موضوع

برنامه ی شمارنده ی تعداد تکرار هر حرف در متن ورودی که البته برای حروف کوچک کاربرد داره.

#include

#include

 

int main()

{

char *passage=new char[500];

int * alphabet=new int[26];

for(int i=0;i

{

alphabet=0;

}

cin.getline(passage,500);

for(i=0;i

{

switch(passage)

{

case 'a' : alphabet[0]++;break;

case 'b' : alphabet[1]++;break;

case 'c' : alphabet[2]++;break;

case 'd' : alphabet[3]++;break;

case 'e' : alphabet[4]++;break;

case 'f' : alphabet[5]++;break;

case 'g' : alphabet[6]++;break;

case 'h' : alphabet[7]++;break;

case 'i' : alphabet[8]++;break;

case 'j' : alphabet[9]++;break;

case 'k' : alphabet[10]++;break;

case 'l' : alphabet[11]++;break;

case 'm' : alphabet[12]++;break;

case 'n' : alphabet[13]++;break;

case 'o' : alphabet[14]++;break;

case 'p' : alphabet[15]++;break;

case 'q' : alphabet[16]++;break;

case 'r' : alphabet[17]++;break;

case 's' : alphabet[18]++;break;

case 't' : alphabet[19]++;break;

case 'u' : alphabet[20]++;break;

case 'v' : alphabet[21]++;break;

case 'w' : alphabet[22]++;break;

case 'x' : alphabet[23]++;break;

case 'y' : alphabet[24]++;break;

case 'z' : alphabet[25]++;break;

}

}

for(i=0;i

{

cout

}

getch();

return 0;

}

 

 

//end

لینک به دیدگاه

strcat تابع الحاق دو رشته

شکل کلی:

;(رشته مبدا ,رشته مقصد)strcat

 

 

مثال:

strcat(str1, str2);

//end

عملکرد این تابع به این صورت است که محتویات رشته ی str2 را به انتهای رشته ی str1 از مکانی که علامت NULL قرار گرفته اضافه میکند. به عنوان مثال اگر رشته ی str1 شامل کلمه ی "computer" و رشته ی str2 شامل کلمه ی "science" باشد، حاصل عملیات، ذخیره ی عبارت "computer science" در str1 میشود.

 

نکته: این تابع نیز تنها برای رشته های از نوع آرایه های کاراکتری تعریف شده است و برای الحاق هرگونه رشته به رشته ای از نوع string باید از عملگر + استفاده کنید.

لینک به دیدگاه

تمرین

یه تمرین برای رشته های کاراکتری:

 

46- برنامه ای بنویسید که یک متن از ورودی گرفته و تمامی space های آن را (در صورت وجود) حذف کرده و آرایه ی کاراکتری جدید را چاپ نماید.

#include

#include

 

void main()

{

char ch[100];

int c,space=0;

cout

cin.get(ch,100);

for(int i=0;ch!=0;i++)

if(ch==32)

{

space++;

for(c=i;ch[c+1]!=0;c++)

ch[c]=ch[c+1];

}

i-=space+1;

//print

for(c=0;c

cout

}

 

 

//end

لینک به دیدگاه

strncpy تابع کپی تعداد مشخصی از کاراکتر های یک رشته در دیگری

 

شکل کلی:

 

;(تعداد کاراکتر کپی شونده ,رشته مبدا ,نقطه ی آغازین عمل کپی+رشته مقصد)strncpy

 

 

مثال:

 

strncpy(str1+m;str2;n);

//end

 

 

در مثال فوق تعداد n کاراکتر ابتدایی رشته ی str2 را از کاراکتر (m+1) ام رشته ی str1 تا محل (m+n+1) کپی میکند. اگر تعداد کاراکتر هایی که در str2 وجود دارد، کمتر از مقدار n باشد، به تعداد لازم کاراکتر NULL در انتهای str1 کپی میشود.

لینک به دیدگاه

strncmp تابع مقایسه تعداد مشخصی از کاراکتر های دو رشته

 

شکل کلی:

;(تعداد کاراکتری که باید مقایسه شود ,رشته 2 ,رشته 1)int result=strncmp

 

مثال:

 

int result=strncmp(str1, str2, n);

//end

 

با اجرای این کد n کاراکتر ابتدای رشته اول با n کاراکتر ابتدای رشته دوم مقایسه شده و نتیجه بصورت یک عدد int برگشت داده میشود.

لینک به دیدگاه

تمرین

 

یه تمرین با آرایه های کاراکتری:

 

47- برنامه ای بنویسید که دو رشته از ورودی گرفته و تعداد تکرار رشته ی دوم در رشته ی اول را در خروجی نمایش دهد.

#include

#include

 

void main()

{

char c1[99]={0}, c2[99]={0};

int c, no=0;

cout

cin.get(c1,99);

cout

cin>>c2;

for(int i=0;c1!=0;i++)

for(c=0;;c++, i++)

{

if(c2[c+1]==0&&c2[c]==c1)

{

no++;

break;

}

else if(c2[c]==c1)

continue;

else

break;

}

cout

}

 

//end

لینک به دیدگاه

تابع strnicmp_ : این تابع همانند تابع strncmp عمل کرده با این تفاوت که مقایسه ی دو رشته را بدون توجه به بزرگی و کوچکی حروف انجام میدهد. لذا دو رشته ی "quick" و "QUICK" از نظر این تابع با یکدیگر برابر هستند. شایان ذکر است که این تابع تنها مختص کامپایلر های شرکت مایکروسافت است. البته در بعضی دیگر مانند توربو سی پلاس پلاس 4.5 با عنوان strnicmp وجود دارد.

لینک به دیدگاه

تابع strncat: این تابع نیز تعداد مشخصی کاراکتر از ابتدای رشته مبدا را به انتهای رشته مقصد متصل میکند و به شکل کلی زیر به کار میرود:

;(تعداد کاراکتر متصل شونده ,رشته مبدا ,رشته مقصد)strncat

لینک به دیدگاه

strlen: این تابع یک رشته از نوع آرایه ای از کاراکتر ها به کار میرود و دارای شکل کلی زیر است:

;(رشته مورد نظر)int lenght=strlen

 

 

شایان ذکر است که طول آرایه ی کاراکتری ممکن است با طول رشته ی مورد نظر متقاوت باشد، چرا که این تابع تعداد کاراکتر های رشته را از ابتدای رشته تا نقطه ای که به علامت NULL برسد میشمارد.

لینک به دیدگاه

تابع strchr: این تابع اولین مکان یک کاراکتر را در یک رشته یافته و یک اشاره گر از نوع char* به مکان مورد نظر در رشته برمیگرداند. در صورتی که کاراکتر مورد نظر یافت نشود، مقدار NULL بازگردانده میشود. این به شکل کلی زیر به کار میرود:

;(کد اسکی کاراکتر مورد جستجو ,رشته مورد نظر)char* position=strchr

 

 

تابع strrchr: تنها تفاوت این تابع با strchr این است که آخرین مکان وقوع کاراکتر را در یک رشته برمیگرداند. به عبارت دیگر این تابع رشته را از انتها برای یافتن نخستین وقوع کاراکتر موردنظر جستجو میکند. به عنوان مثال دستور زیر رشته str را جهت یافتن آخرین وقوع کاراکتر 'b' مورد جستجو قرار میدهد:

 

char ch='b';

char* position=strrchr(str, ch);

//end

لینک به دیدگاه

این برنامه که نوشته ی LOgiCeR k3nTo هست، یک رشته از ورودی گرفته و تعداد حروف بزرگ، حروف کوچک، اعداد، کاراکتر های ویژه و تعداد کلمات را شمرده و نمایش می دهد.

#include

#include

int main()

{

int word_counter=0,small_chars=0,large_chars=0,number_counter=0,special_chars=0;

char ch=0;

cout

cout

cout>NOTE: about using space(????)\n"

cout

while((ch=getche())!='\r')

{

if(ch>='a'&&ch

small_chars++;

else if(ch>='A'&&ch

large_chars++;

else if(ch>='0'&&ch

number_counter++;

else if(ch==' '||ch==',' || ch=='.')

word_counter++;

else

special_chars++;

}

word_counter++;

coutWord Count= "Small Characters Count= "

Large Characters Count= "Number Count= "

Special Characters Count= "

getch();

return 0;

}

 

//end

لینک به دیدگاه

d14e61b4589743d58e55.jpg

 

این برنامه ی هوشمند تمامی کد های زبان برنامه نویسی C# را به کد C++ تبدیل میکند!

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

لینک به دیدگاه

تابع strupr: این تابع حروف یک رشته را به حروف بزرگ تبدیل میکند. شکل کلی بکارگیری این تابع به صورت زیر است:

;(نام رشته مورد نظر)strupr

 

تابع strlwr: این تابع تمامی حروف رشته را به حروف کوچک تبدیل میکند. شکل کلی:

 

 

;(نام رشته مورد نظر)strlwr

لینک به دیدگاه

اینم یه سورس دیگه از برنامه ی مثلث پاسکال که دوستمون نوشتنش

#include

#include

int c(int i,int j)

{

int k;

if ((i==j)||(j==1))

k=1;

else

k=c(i-1,j-1)+c(i-1,j);

return k;

}

int main ()

{

int k=26;

for (int i=1; i

{

cout

cout

for (int j=1; j

cout

k=k-2;

}

return 0;

}

 

 

//end

لینک به دیدگاه

d14e61b4589743d58e55.jpg

 

این برنامه با وجود حجم کم قادر است به دقت تمامی کد های نوشته شده به زبان C++ را به C# تبدیل کند.

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

لینک به دیدگاه

نرم افزار جاوای موبایل ساخته شده با کتابچه درباره ی تمامی زبان های برنامه نویسی با پشتیبانی از قابلیت لمسی گوشی های همراه

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

لینک به دیدگاه

اینم یه برنامه که ابتدا طول آرایه رو مشخص میکنید و سپس عناصر اونو از ورودی میگیره و با مرتب سازی سریع، به صورت صعودی مرتب میکنه و نمایش میده. که این برنامه رو دوستمون نوشتن.

#include

#include

 

//--------------------------------------------------------------------------

void read_list(int a[],int n)

{

int i;

for(i=0;i

{

cout

cin>>a;

}

}

//--------------------------------------------------------------------------

void print_list(int a[],int n)

{

int i;

for(i=0;i

cout

}

//--------------------------------------------------------------------------

void quick_sort(int a[],int first,int last)

{

int low,high,temp,pivot;

low=first;

high=last;

pivot=a[(first+last)/2];

 

do{

while(a[low]

low++;

while(a[high]>pivot)

high--;

if(low

{

temp=a[low];

a[low]=a[high];

a[high]=temp;

low=low+1;

high=high-1;

}

}while(low

 

if(first

quick_sort(a,first,high);

if(low

quick_sort(a,low,last);

}

//--------------------------------------------------------------------------

void main()

{

int a[20],n;

 

clrscr();

cout

cin>>n;

 

read_list(a,n);

 

cout

print_list(a,n);

 

quick_sort(a,0,n-1);

 

cout

print_list(a,n);

getch();

}

 

 

//end

لینک به دیدگاه

تابع strcspn: این تابع کاراکتر های یک رشته را در یک رشته جستجو کرده و مکان اولین موردی که یکی از کاراکتر های زیر رشته در رشته ی اصلی وجود داشته باشد را به صورت یک عدد int برمیگرداند. شکل کلی بکارگیری این تابع بصورت زیر است:

 

;(رشته 2 ,رشته 1)int position=strcspn

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • اضافه کردن...