0 امتیاز
قبل در برنامه نویسی توسط (0 امتیاز)
سلام

ممنون میشم پاسخ بدید. یه سوال در مورد زبان C++ هست.

برنامه ای بنویسید که یه عدد دریافت کرده ارقام تکراری راحذف ونتیجه راچاپ نمایید.

مثال : ورودی=۱۲۱۵۶۵  و خروجی ۱۲۵۶

ممنون میشم به صورت تابع ساخته بشه.

1 پاسخ

+1 امتیاز
قبل توسط (187 امتیاز)
ویرایش شده قبل توسط

چندتا روش میتونید استفاده کنید:

  1. میتونید با استفاده از کتابخانه پرکاربرد STL و کانتینر SET که اعداد تکراری رو حذف میکنه استفاده کنید.
  2. میتونید از متدهای  String ها هم استفاده کنید
  3. میتونید از مفاهیم پایه ریاضی یعنی / و % استفاده کنید.
#include <iostream> 
using namespace std; 

long int removeRecur(long int n) 
{ 
	// Store first digits as previous digit 
	int prev_digit = n % 10; 

	// Initialize power 
	long int pow = 10; 
	long int res = prev_digit; 

	// Iterate through all digits of n, note that 
	// the digits are processed from least significant 
	// digit to most significant digit. 
	while (n) { 
		// Store current digit 
		int curr_digit = n % 10; 

		if (curr_digit != prev_digit) { 
			// Add the current digit to the beginning 
			// of result 
			res += curr_digit * pow; 

			// Update previous result and power 
			prev_digit = curr_digit; 
			pow *= 10; 
		} 

		// Remove last digit from n 
		n = n / 10; 
	} 

	return res; 
} 

int main() 
{ 
	long int n=0;
	cout<<"Enter your number: ";
	cin>>n;
	cout << removeRecur(n); 
	return 0; 
}

 

سوالات مشابه

0 امتیاز
4 پاسخ 3.1هزار بازدید
0 امتیاز
1 پاسخ 5.8هزار بازدید
0 امتیاز
3 پاسخ 1.3هزار بازدید
0 امتیاز
0 پاسخ 456 بازدید
0 امتیاز
0 پاسخ 845 بازدید
+1 امتیاز
1 پاسخ 769 بازدید
...