برنامه تجزیه یک عدد به عوامل اول
سلام ، این برنامه ای که تو سی پلاس پلاس نوشتم ، یک عدد رو میگیره و اونو به عوامل اول
تجزیه میکنه !!!!
کد برنامه خدمت شما عزیزان :
#include <iostream>
#include <conio>
int prime(int x){
int k=0;
for(int i=2;i<=x/2;i++)
if(x%i==0)
k++;
return k;
}
int amel(int y,int i){
int k=0;
while(y%i==0){
y/=i;
k++;
}
return k;
}
int main(){
long int n;
cout<<"Enter a Number to abstract it \n";
cin>>n;
cout<<"------------------------------------\n";
for(int i=2;i<=n;i++){
if(prime(i)==0 && n%i==0)
cout<<i<<"^"<<amel(n,i)<<" x ";
}
cout<<'1';
getch();
return 0;
}
موفق و پیروز باشید !!!
ادغام دو آرایه نامرتب در یک آرایه مرتب
سلام دوستان ، این برنامه که تو سی پلاس پلاس نوشتم ، دو آرایه نامرتب را گرفته و آنها را
بصورت مرتب در یک آرایه دیگر قرار میدهد !!!
کد برنامه تقدیم شما عزیزان :
#include <iostream>
#include <conio>
#include <algorithm>
void swap(int &a,int &b){
int temp;
temp=a; a=b; b=temp;
}
void Sort(int a[],int n){
int max=0;
for(int i=n-1;i>=0;i--){
for(int j=0;j<=i;j++){
if(a[j]>a[max])
max=j;}
swap(a[i],a[max]);
max=0;}
}
void Merg(int a[],int m,int b[],int n){
int *c=new int[n+m];
for(int i=0;i<m;i++){
c[i]=a[i];
}
for(int j=0;j<n;j++){
c[m+j]=b[j];
}
//Now Sorting Array C
Sort(c,n+m);
for(int k=0;k<n+m;k++)
cout<<c[k]<<" ";
//------------------------------------------------------------------------------
}
int main(){
int m,n;
cout<<"Enter size of Array 1:\n";
cin>>m;
cout<<"Enter size of Array 2:\n";
cin>>n;
//---- Building dynamic Arrays----
int *a=new int[m];
int *b=new int[n];
//--------------------------------
cout<<"Enter Array 1:\n";
for(int i=0;i<m;i++)
cin>>a[i];
cout<<"Enter Array 2:\n";
for(int i=0;i<n;i++)
cin>>b[i];
cout<<"---------------------------\n";
//Merging Two Arrays
cout<<"*** Sorted Merged Array ***\n\n";
Merg(a,m,b,n);
getch();
}
موفق و پیروز باشید !!!:لبخندساده:
رسم 4 مثلث یکجا با هر اندازه ای
سلام به همه عزیزان ، این برنامه 4 تا مثلث های دوران یافته را یکجا با هر اندازه ای ایجاد
میکند که تو سی پلاس پلاس نوشتم !!!!
کد برنامه :
#include <iostream>
#include <conio>
#include <iomanip>
int main(){
int k;
int n=1;
cout<<"Enter a Number to graph 4Triangle with that size\n";
cin>>k;
int m=k;
cout<<"--------------------------\n\n";
for(int i=1;i<=k;i++){
for(int j=1;j<=i;j++)
cout<<"*";
cout<<endl;
}
cout<<endl;
cout<<"---------------------\n\n";
for(int i=k;i>=1;i--){
for(int j=1;j<=i;j++)
cout<<"*";
cout<<endl;
}
cout<<"------------------------\n\n";
cout<<endl;
for(int i=1;i<=k;i++){
cout<<setw(m);
for(int j=1;j<=i;j++)
cout<<"*";
cout<<endl;
m--;
}
cout<<"-------------------------\n\n";
cout<<endl;
for(int i=k;i>=1;i--)
cout<<"*";
cout<<endl;
for(int i=k-1;i>=1;i--){
cout<<setw(n+1);
for(int j=1;j<=i;j++)
cout<<"*";
cout<<endl;
n++;
}
getch();
}
موفق و پیروز باشید !!!:لبخندساده:
1 ضمیمه
یک سوال برنامه نویسی جالب
سلام ، خواستم به خاطر ایجاد تنوع در این بخش یک سوال برنامه نویسی هم گذاشته
باشم ،می خواهیم دوستان هم نظر دهند ، که اگر مایل بودند سورس برنامه را هم خواهم
گذاشت !!! منتظر نظرات هستم !!!!
سوال مورد نظر
یا از طریق :
مجموعه ای از برنامه ها به زبان ++C
سلام به همه عزیزان ، این برنامه که تو سی پلاس پلاس نوشتم ، درجه یک چند جمله ای ،
یک عدد دلخواه و عدد پایه و توان هر جمله چند جمله ای را دریافت کرده ، و مقدار چند جمله
ای را در آن نقطه دلخواه پیدا می کند !!!
کد برنامه تقدیم شما عزیزان :
#include <iostream>
#include <conio>
#include <math>
int ChandJomleyee_Calc(int n,int x){
int **a=new int*[n+1];
for(int i=0;i<n+1;i++)
a[i]=new int[2];
//---------------------
for(int i=0;i<n+1;i++){
cout<<" Paye va Tavan Jomle "<<i+1<<" :";
for(int j=0;j<2;j++)
cin>>a[i][j];
}
cout<<"\n";
cout<<"___________________________________________ __\n";
cout<<" Chand Jomleyee Shoma :\n\n";
for(int i=0;i<n+1;i++){
cout<<" "<<a[i][0];
cout<<"X^";
cout<<a[i][1];
if(i!=n)
cout<<"+";
}
cout<<"\n\n";
cout<<" Meghdare X = "<<x<<endl;
cout<<"___________________________________________ __\n";
cout<<" Natije Mohasebe : ";
int Sum=0;
for(int i=0;i<n+1;i++){
Sum+=(a[i][0]*pow(x,a[i][1]));
}
return Sum;
}
int main(){
int D,X;
cout<<" *** Mohasebe Meghdare chand jomleyee daraje n dar noghte x ***\n\n";
cout<<" Daraje Chand Jomleyee ra vared konid :\n";
cin>>D;
cout<<" X ra vared konid :\n";
cin>>X;
cout<<"-----------------------------------------------------------------------\n\n";
cout<<" "<<ChandJomleyee_Calc(D,X)<<endl;
getch();
}
موفق و پیروز باشید !!!:لبخندساده:
تبدیل عدد اعشاری به فرم کسری
سلام به همه عزیزان ، این برنامه که تو سی پلاس پلاس نوشتم یک عدد اعشاری را گرفته
و فرم کسری آنرا نمایش میدهد !!!
کد برنامه تقدیم شما عزیزان :
#include <iostream>
#include <conio>
#include <math>
int bmm(int a,int b){
if(b==0)
return a;
if(b==1)
return 1;
else
return bmm(b,a%b);
}//end of function
//****************************
int main()
{
long double num;
long double k,a,b,c;
cout<<"Enter your aashari Number\n";
cin>>num;
cout<<"----------------------------\n";
cout<<"Tedade Arghame Bad az Mommayez\n";
cin>>k;
cout<<"---------------------------------\n";
a=num*pow(10,k);
b=pow(10,k);
c=bmm(a,b);
cout<<a/c<<"/"<<b/c<<endl;
getch();
}
موفق و پیروز باشید !!!
نقل قول: تبدیل عدد اعشاری به فرم کسری
هوالحکیم. سلام بر salar_cpp_cs عزیز. آقا یک چند مرتبه خواستم این نکته را به شما بگم ولی گفتم شاید خوشتون نیاد ولی دیدم چه دوستیی می شه اگه من عیب شما را به شما نگم و شما هم عیب منو به من! به هر حال اگه از پیشنهادم بدتون اومد، بگید تا دیگه در این زمینه ها چیزی نگم! اول از همه برنامه های خوبتون سپاسگزارم و خلیل برنامه هاتون جالب هستند ولی یک پیشنهاد دارم! سعی کنید کدهای خود را طوری بنویسید که قابل استفاده مجدد باشند و دیگران نیز بتوانند در کدهای خود از آنها استفاده کنند مثلاً من برنامه جمع و ضرب ماتریس های شما را دیدم ولی نمی دانم شما برنامه ماتریس های مار ا مشاهده کردید یا خیر؟ ما برنامه خود را به صورت کلاس نوشته بودیم و کاربر می توانست هر جا و به هر صورتی که دوست دارد از آنها استفاده کند نه اینکه مجبور باشد یک فایل exe را اجرا کنید و به ترتیب به آن ورودی و خروجی بدهد و سپس نتیجه بگیرد. البته با در نظر گرفتن اینکه شما #C حرفه ای هستید، نمی دانم چرا در این قسمت اینگونه کد می نویسید! شاید قصد آموزش به ما تازه کارها را دارید ولی پیشنهاد می کنم از این به بعد، کدهای خود را طوری بنویسید که رابط کاربری آن با عملکرد برنامه جدا باشد. اما در مورد کد بالا، یادم هست که یک تابعی وجود داشت که خودش تعداد ارقام اعشاری یک را بر می گردوند(یا شاید قسمت اعشاری را؟). بد نیست یه نگاهی به توابع frexp و ldexp و ceil و floor ... بیاندازید و یک روشی پیدا کنید که نیاز نباشد از کاربر، تعداد ارقام اعشار را بپرسید. یا علی. خدانگهدارتان
نقل قول: تبدیل عدد اعشاری به فرم کسری
نقل قول:
نوشته شده توسط
bsng110
هوالحکیم. سلام بر salar_cpp_cs عزیز. آقا یک چند مرتبه خواستم این نکته را به شما بگم ولی گفتم شاید خوشتون نیاد ولی دیدم چه دوستیی می شه اگه من عیب شما را به شما نگم و شما هم عیب منو به من! به هر حال اگه از پیشنهادم بدتون اومد، بگید تا دیگه در این زمینه ها چیزی نگم! اول از همه برنامه های خوبتون سپاسگزارم و خلیل برنامه هاتون جالب هستند ولی یک پیشنهاد دارم! سعی کنید کدهای خود را طوری بنویسید که قابل استفاده مجدد باشند و دیگران نیز بتوانند در کدهای خود از آنها استفاده کنند مثلاً من برنامه جمع و ضرب ماتریس های شما را دیدم ولی نمی دانم شما برنامه ماتریس های مار ا مشاهده کردید یا خیر؟ ما برنامه خود را به صورت کلاس نوشته بودیم و کاربر می توانست هر جا و به هر صورتی که دوست دارد از آنها استفاده کند نه اینکه مجبور باشد یک فایل exe را اجرا کنید و به ترتیب به آن ورودی و خروجی بدهد و سپس نتیجه بگیرد. البته با در نظر گرفتن اینکه شما #C حرفه ای هستید، نمی دانم چرا در این قسمت اینگونه کد می نویسید! شاید قصد آموزش به ما تازه کارها را دارید ولی پیشنهاد می کنم از این به بعد، کدهای خود را طوری بنویسید که رابط کاربری آن با عملکرد برنامه جدا باشد. اما در مورد کد بالا، یادم هست که یک تابعی وجود داشت که خودش تعداد ارقام اعشاری یک را بر می گردوند(یا شاید قسمت اعشاری را؟). بد نیست یه نگاهی به توابع frexp و ldexp و ceil و floor ... بیاندازید و یک روشی پیدا کنید که نیاز نباشد از کاربر، تعداد ارقام اعشار را بپرسید. یا علی. خدانگهدارتان
================================================== =
سلام به شما دوست گرامی ، عرض کنم که من بدلیل علاقه زیادی که به زبانهای سی شارپ
و سی پلاس پلاس دارم ، در این دو بخش فعالیت می کنم و میتونم بگم که سی پلاس پلاس
رو خیلی کاملتر از سی شارپ بلدم ولی گفتم به هردوشون علاقه مندم ، در ضمن روش
برنامه نویسی کاملا سلیقه ای هستش و ممکنه که یک الگوریتم با 10 - 20 تا روش
قابل پیاده سازی باشه و همه اونها هم درست باشند و کسی هم نتونه ایراد بگیره ، اگه
شیوه برنامه نویسی همه مثل هم بود ، خلاقیت تو برنامه نویسی معنا نداشت !!! در ضمن
خودتون می دونید که سطح تالار سی شارپ خیلی بالاتر از سی پلاس پلاس هستش ، من
هم به همین دلیل برنامه هام رو اینجا از آسون به مشکل می گذارم ، میتونم همون اول یه
مثال از وراثت چند گانه همراه با Polymorphism بدم که 2 - 3 نفر فقط کد رو درک کنند ، پس
همه چیز حساب شده است دوست عزیز و گرامی !!!
نقل قول:
بد نیست یه نگاهی به توابع frexp و ldexp و ceil و floor ... بیاندازید و یک روشی پیدا کنید که نیاز نباشد از کاربر، تعداد ارقام اعشار را بپرسید
این فقط برای آزمایش بود ، البته که میشد این کارو انجام داد ، من یک کد در این زمینه در تالار
الگوریتم نوشتم ، خواستید یه نگاه کنید !!!
الگوریتم برگرداندن تعداد ارقام اعشار
در ضمن ممنون و متشکر از حسن نیت شما !!!!امیدوارم موفق و پیروز باشید !!! در پناه حق
تعالی انشاالله !!! یا علی مدد !!!!
نقل قول: یک سوال برنامه نویسی جالب
این کار که انجام می دید ، کار جالب و آموزنده ای است یعنی تبدیل قضایا و قوانین ریاضی به برنامه های کامپیوتری که باعث ایجاد تنوع و افزایش توان برنامه نویسی افراد می شه. اما در مورد این برنامه فکر کنم راه حل ساده ی اون این باشه که از یک اشاره گر به تابع prim استفاده کنیم تا برای ما اعداد اول را به ترتیب و یکی یکی بفرستد. و یا این که می توان از رده ذخیره سازی static برای اعداد اول در تابع prim استفاده کرد. تا اعداد اول را به تابع اصلی پاس دهد.
نقل قول: یک سوال برنامه نویسی جالب
این کد رو ساعت 4 صبح نوشتم خیلی هم خوابم میومد. لطفا اگر اشکالی توش هست ببخشید.
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
bool IsPrime(int num)
{
for (int j=2 ; j<=num/2 ; ++j)
{
if ( (num % j) == 0 )
return false;
}
return true;
}
int main()
{
int n;
int i, j;
int tmp;
int s = 0;
vector<int> nums;
cout << "Please enter n: ";
cin >> n;
for (i=0 ; i<n ; ++i)
{
cout << "Please enter " << i+1 << "th number: ";
cin >> tmp;
nums.push_back(tmp);
}
for (i=0, j=2 ; i<n ;)
{
if ( IsPrime(j) )
{
s += (int) pow( (float)j, (float)nums[i] );
++i;
}
++j;
}
cout << "Polynomial result = " << s << endl;
return 0;
}
توضیح اینکه این کد از یک روش ساده و قدیمی و کند برای تولید اعداد اول استفاده میکند. روشهای بسیار بهتر و سریعتر و پیشرفته تری نیز برای این کار وجود دارد.
پیروز باشید.
برنامه حل معادله معروف در ترکیبیات
سلام به همه عزیزان و دوستان گرامی ، این برنامه که تو سی پلاس پلاس نوشتم ، معادله
سیاله معروف در ترکیبیات در ریاضیات گسسته ، جوابهای طبیعی اش رو پیدا کرده و نشان
میدهد و همچنین تعداد کل جوابهای طبیعی را !!!!
کد برنامه تقدیم شما عزیزان :
#include <iostream>
#include <conio>
int main(){
int n,p=0;
cout<<"\n";
cout<<" *** Solving X1 + X2 + X3 = N *** (Xi is Natural)\n";
cout<<"________________________________________\n\ n";
cout<<" Enter N\n";
cin>>n;
cout<<"\n";
for(int i=1;i<=n-2;i++){
for(int j=1;j<=n-2;j++){
for(int k=1;k<=n-2;k++)
if(i+j+k==n){
cout<<" "<<i<<" "<<j<<" "<<k<<endl;
p++;}
}
}
cout<<"________________________________________\n\ n";
cout<<" Numbers of Solving : "<<p<<endl;
getch();
return 0;
}
موفق و پیروز باشید !!!!:لبخندساده:
تابع بازگشتی محاسبه تعداد ارقام یک عدد
#include <iostream>
#include <conio>
#include <math>
int tedad(int n){
if(n/10==0)
return 1;
else
return 1+tedad(n/10);
}
int main()
{
int x;
cin>>x;
cout<<tedad(x)<<"\n";
getch();
}
موفق و پیروز باشید !!!
تابع بازگشتی برای جدا کردن ارقام یک عدد و نشان دادن آنها
#include <iostream>
#include <conio>
#include <iomanip>
void seprator(int n){
if(n<10)
cout<<n;
else
{
seprator(n/10);
cout<<setw(4)<<n%10;
}
}
int main()
{
int a;
cout<<"Enter a Number\n";
cin>>a;
cout<<endl;
cout<<"The seprated numbers:\n\n";
seprator(a);
getch();
}
موفق و پیروز باشید !!!!
1 ضمیمه
یک سوال مسابقات ACM و همچنین ریاضیات گسسته
دوستان ، این سوال برای تمرین برنامه نویسی ، بسیار مناسب میباشد !!!!!
موفق و پیروز باشید !!!:لبخندساده:
معرفی کتابهای مفید سی پلاس پلاس
http://i35.tinypic.com/29dxpp2.jpg
==============================================
http://i33.tinypic.com/1zf6dxi.jpg
موفق و پیروز باشید در پناه حق تعالی !!!
مثالی ساده از آرایه های چند بعدی
#include <iostream>
#include <conio>
int main(){
int a[2][3][4]={{{1,7,3,9},{8,11,9,4},{5,17,6,3}},
{{13,4,9,1},{18,7,5,14},{23,9,12,3}}};
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
for(int k=0;k<4;k++)
cout<<a[i][j][k]<<" ";
cout<<endl;
}
cout<<endl;
}
getch();
}
موفق و پیروز باشید !!!:لبخندساده:
نقل قول: مثالی ساده از آرایه های چند بعدی
نقل قول:
نوشته شده توسط
Salar Ashgi
#include <iostream>
#include <conio>
int main(){
int a[2][3][4]={{{1,7,3,9},{8,11,9,4},{5,17,6,3}},
{{13,4,9,1},{18,7,5,14},{23,9,12,3}}};
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
for(int k=0;k<4;k++)
cout<<a[i][j][k]<<" ";
cout<<endl;
}
cout<<endl;
}
getch();
}
موفق و پیروز باشید !!!:لبخندساده:
میشه یه برنامه بنویسیدکه زمان اجرای selection sort رو بده؟
نقل قول: 1001 نکته سی پلاس پلاس
سلام
برنامه selection sort را داخل این باذرید تا زمانش را محاسبه کنه
#include <time.h>
#include <stdio.h>
int main()
{
clock_t t= clock();
//selection sort algorithm
//...
t=clock()-t;
printf("time: %f seconds",(float)t/CLOCKS_PER_SEC);
}
نقل قول: 1001 نکته سی پلاس پلاس
تابع شناسایی عدد اول، توی برنامه های دوستان در بالا(به اشکال مختلف) پیدا میشه، چرا از اون ها استفاده نمیکنید؟
الگوریتم خاصی مد نظر هست؟