رفتن به مطلب

برنامه نویسی 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

  • Like 2
لینک به دیدگاه
  • پاسخ 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

  • Like 2
لینک به دیدگاه

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

شکل کلی:

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

 

 

مثال:

strcat(str1, str2);

//end

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

 

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

  • Like 2
لینک به دیدگاه

تمرین

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

 

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

  • Like 2
لینک به دیدگاه

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

 

شکل کلی:

 

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

 

 

مثال:

 

strncpy(str1+m;str2;n);

//end

 

 

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

  • Like 2
لینک به دیدگاه

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

 

شکل کلی:

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

 

مثال:

 

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

//end

 

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

  • Like 2
لینک به دیدگاه

تمرین

 

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

 

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

  • Like 2
لینک به دیدگاه

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

  • Like 2
لینک به دیدگاه

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

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

  • Like 2
لینک به دیدگاه

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

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

 

 

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

  • Like 2
لینک به دیدگاه

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

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

 

 

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

 

char ch='b';

char* position=strrchr(str, ch);

//end

  • Like 2
لینک به دیدگاه

این برنامه که نوشته ی 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

  • Like 1
لینک به دیدگاه

d14e61b4589743d58e55.jpg

 

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

 

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

  • Like 2
لینک به دیدگاه

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

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

 

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

 

 

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

  • Like 1
لینک به دیدگاه

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

#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

  • Like 2
لینک به دیدگاه

d14e61b4589743d58e55.jpg

 

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

 

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

  • Like 2
لینک به دیدگاه

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

 

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

  • Like 1
لینک به دیدگاه

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

#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

  • Like 2
لینک به دیدگاه

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

 

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

  • Like 2
لینک به دیدگاه

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