• اگر سمپادی هستی همین الان عضو شو :

    ثبت نام عضویت

مقدمات برنامه نویسی با ++C

  • شروع کننده موضوع شروع کننده موضوع hasangolab
  • تاریخ شروع تاریخ شروع
پاسخ : مقدمات برنامه نویسی با ++C

به نقل از Daneshvar :
میشه یه کم درباره کدتون توضیح بدین یا یه کد ساده تر بنویسین؟ الان این چیزی که نویشتین چیکار می کنه؟
دارین هر وقت قرینه دیدین دو تا رو از آرایه حذف می کنید؟ برای حذفش از دستور []delete arrayname استفاده کرد؟ آیا باید include خاصی اون بالا نوشته بشه؟
خوب بزار بگم که کد من خیلی سادس ! شما یکم دانش برنامه نویسی‌ت کمه به خاطر همین ممکنه متوجه نشی
بهت پیشنهاد میکنم حتما vector رو یاد بگیر چون خیلی به دردت میخوره.
توی کدمم هم کار خاصی نکردم :) فقط اومدم چک کردم که این آجرهایی که قراره روی هم دیگه گذاشته بشه ، مثل شرط مسئله هست یا نه.
توی این قسمت
کد:
v.push_back(a[0]);
اومدم اولین آجر رو گذاشتم رو زمین.
توی این قسمت شروع میکنم بقیه آجر هایی رو که برام مونده میزارم و شرط مسئله رو چک میکنم
کد:
FOR (i, 1, n)
توی این قسمت چک میکنم که آیا هنوز آجری روی زمین دارم یا ندارم (۱) :
کد:
if (!v.empty())
توی این چند خط میام برای هر آجر جنسش رو تشخیص میدم که نامرغوبه یا خیلی نامرغوب و اگه رویی ترین آجری که دارم نامرغوب باشه و آجری که انتخاب کردم و تو دستمه خیلی نامرغوب باشه ، اون ۲ تا آجر رو میریزم دور.
کد:
if (a[i] < 0 && (a[i] * -1) == v.back())
					v.pop_back();
				else
					v.push_back(a[i]);

(۱) : تو این قسمت میام میگم اگه آجری رو زمین نبود و من هنوز آجر داشتم ، میام آجری که تو دسمه رو میزارم رو زمین.
کد:
else
				v.push_back(a[i]);

تو این قسمت هم چک میکنم آیا همه آجر ها از بین رفتن یا نه :)
کد:
		if (v.size() == 0)
			puts ("BALE");
		else
			puts ("NA");
راستی برای استفاده از vector دستور
کد:
#include <vector>
یادت نره.
 
پاسخ : مقدمات برنامه نویسی با ++C

الگوریتمش رو متوجه شدم ممنون. باید برم کار با vector رو یاد بگیرم.
خیلی ممنون
 
آموزش ++C در 11 بخش

يه سر به وبلاگ : http://c-hellibam.blogfa.com بزنين بطور خلاصه توضيح داده.
 
پاسخ : مقدمات برنامه نویسی با ++C

یه سوال: کدی رو بزنید که اعداد 1 تا 100 که اعداد مقلوب (عدد مقلوب = برعکس )رو در صورتی که با خود عدد برابر نباشه و همچنین هر دو عدد اول باشن(مثل 13 و31) رو چاپ کنه.

اگه میشه به ساده ترین صورتی که میتونید بنویسید.(tnx :-" )
 
پاسخ : مقدمات برنامه نویسی با ++C

به نقل از TheBest444 :
یه سوال: کدی رو بزنید که اعداد 1 تا 100 که اعداد مقلوب (عدد مقلوب = برعکس )رو در صورتی که با خود عدد برابر نباشه و همچنین هر دو عدد اول باشن(مثل 13 و31) رو چاپ کنه.

اگه میشه به ساده ترین صورتی که میتونید بنویسید.(tnx :-" )
کد:
#include <iostream>
using namespace std;

int main(int argc, char** argv) {
	int num,i,c,m,n;
	cout<<"Enter maximum number: ";
	cin >> num;
	for (int i=2; i<=num; i++){
	bool isprime=true;
	n=i;
	m=0;
	while (n>0)
	{
		m = (m*10) + (n%10);
		n = n/10;
	}
	n=i;
	for(c=2;c*c<=i;c++)
	{
		if(i%c==0)
		{
		 isprime=false;
		 break;
		}
	}
	for(c=2;c*c<=m;c++)
	{
		if(m%c==0)
		{
		 isprime=false;
		 break;
		}
	}
	if((isprime==true)&&(i!=m))
	{
		cout<<"Number "<<n<<" and "<<m<<" is prime\n";
	}
	}
	system("pause");
	return 0;
}

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

http://s3.picofile.com/file/8204732368/Capture.JPG.
الان مشکل این چیه؟؟
من خیلی مبتدیم:D
 
پاسخ : مقدمات برنامه نویسی با ++C

اینم یه تمرین

برنامه ای بنویسید که یک عدد از کاربر گرفته و به مقسوم الیه هایش تجزیه کند و به این صورت نمایش دهد .
a^2 * b^3 و ...
 
Back
بالا