مجموعه سورس کدهای ++C

C++/C

توسط reza-irdev در 6 سال پیش
1 25.1k 61 9 ماه پیش
reza-irdevxman
1

برنامه ای بنویسید که عددی را از ورودی دریافت کند و زوج و فرد بودن آن را تشخیص دهد .

#include <iostream>

using namespace std ;

bool isEven(int) ;

int main() {

// تعریف متغیر

      int num;

      cout << "Please Enter Your Number :" ;

      cin >> num ;

      if (isEven(num))

             cout << "\nYour Number Is Even." ;
      else

             cout << "\nYour Number Is Odd." ;

      return 0;
}

// تعریف تابع جهت تعیین زوج یا فرد بودن عدد ورودی

bool isEven(int num)

      {

      if (num%2 == 0)

             return true ;

      else

             return false ;
}
آخرین ویرایش: 06-07-2015 ساعت 17:46، توسط Reza
0

برنامه ای بنویسید که توان n ام عدد m را محاسبه کند .

#include <iostream>

using namespace std ;

int main() {

// تعریف متغیرها

      int number , power , count ;

      cout << "Enter number: " ;

      cin >>  number ;

      cout << "Enter the power: " ;

      cin >> power ;

      count = 1 ;

// استفاده از حلقه تکرار با تعداد دفعات معین به منظور ضرب پی در پی پایه به تعداد توان

      for ( int i = 1 ; i <= power ; i ++ )

      {

             count = count * number ;

      }

// چاپ خروجی و نتیجه به توان رساندن دو عدد ورودی

      cout << "Result is : " << count ;

      return 0;

}
آخرین ویرایش: 06-07-2015 ساعت 17:47، توسط Reza
0

برنامه ای بنویسید که مقلوب یک عدد صحیح را محاسبه و چاپ نماید .

#include <iostream>

using namespace std ;

int main() {

// تعریف متغیرها

      int num , r , k ;

      cout << "Enter the Number : " ;

      cin >> num ;

      cout <<"\n\nThe number which is achieved by reversing its digits is equal to : "<<endl;

      while ( num >= 1)

      {

             r = num % 10 ;

             num = num / 10 ;

// چاپ رقم به رقم عدد مقلوب شده بواسطه انجام تقسیمات متوالی بر 10 و نمایش باقیمانده

             cout << r ;

      }

      return 0 ;
}
آخرین ویرایش: 06-07-2015 ساعت 17:47، توسط Reza
1
#include <iostream>

#include <cmath>

using namespace std;

double factorial(int);

double taylorSine(double, double);

int main() {

// تعریف متغیر استفاده شده در بدنه اصلی برنامه

   double rad ;

// گرفتن زاویه از کاربر و تاکید بر رادیان بودن آن

   cout <<"Enter your degree in RAD : ";

   cin >> rad ;

   cout <<"\n\nSin( "<<rad<<" ) = " << taylorSine(rad,19);

   return 0 ;

}

// تابع محاسبه فاکتوریل یک عدد

double factorial(int num){

       double fact = 1;

       for(int i = 1; i <= num; i++){

               fact = fact * i;

       }

       return fact;

}

// تابع محاسبه مقدار سینوس با استفاده از بسط تیلور آن

double taylorSine(double num, double precision ){

       double value = 0;

       for(int n = 0; n < precision; n++){

               value += pow(-1.0, n) * pow(num, 2*n+1) / factorial(2*n + 1);

      }

       return value;
}
آخرین ویرایش: 06-07-2015 ساعت 17:48، توسط Reza
0
#include <iostream>

#include <cmath>

using namespace std ;

double factorial(int) ;

double ApproxE(int) ;

int main(){

// تعریف متغیر استفاده شده در بدنه اصلی برنامه

       int prec ;

       cout <<"Enter the Precision : ";

       cin >> prec ;

       cout << "\n\nNeper number is : " << ApproxE(prec) << endl;         

       return 0;

}

// تابع محاسبه فاکتوریل یک عدد

double factorial(int num){

       double fact = 1;

       for(int i = 1; i <= num; i++){

               fact *= i;

       }

       return fact;

}

double ApproxE(int n){

       double value = 0;

       for(int i = 0; i <= n; i++)

       {

               value += 1 / factorial(i); 

       }

// مقدار تقریبی عدد نپر

       return value;       

}
آخرین ویرایش: 06-07-2015 ساعت 17:49، توسط Reza
0

برنامه ای بنویسید که دو عدد صحیح را بگیرد و تمام اعداد زوج بین آنها را چاپ کند .

#include <iostream>

using namespace std ;

void main() {

// تعریف متغیرها

      int a , b , c ;

      cout << "Enter the first number : " ;

      cin >> a  ;

      cout << "\nEnter the second number : " ;

      cin >>  b ;

// مرتب کردن دو عدد ورودی به ترتیب بزرگی به کوچکی

      if ( a > b )

      {

             c = a ;

             a = b ;

             b = c ;

      }

      if ( a % 2 != 0 )

      {

// اگر عدد کوچکتر ، عددی فرد بود آنرا به عددی زوج مطابق دستور زیر تبدیل می کنیم

             a = a - 1 ;

      }

      while ( b > a + 2 )

      {

             a = a + 2 ;

             cout << a <<" " ;

       }

}
آخرین ویرایش: 06-07-2015 ساعت 17:49، توسط Reza
1
#include <iostream>

using namespace std ;

int main() {

// تعریف متغیرها

      int num , i ;

      int j = 0 ;

      cout << "Enter the number : " ;

      cin >> num ;

      i = 1;

      while ( i <= num )

      {

             if (num % i == 0 )

             {

                    j++ ;

                    cout << i <<endl ;

             }

             i++ ;

      }

      cout <<"\n\n ( "<< num <<" ) has "<< j <<" denominators ." ;

      return 0 ;

}
آخرین ویرایش: 06-07-2015 ساعت 17:49، توسط Reza
0
#include <iostream>

#include <cmath>

using namespace std ;

int main() {

// تعریف متغیرها

   double a,b,c,d;

   cout << "ax^2 + bx + c = 0" ;

// گرفتن ضرایب معادله درجه دوم

   cout << "\n\nInput values of a : " ;

   cin >> a ;

   cout << "\nInput values of b : " ;

   cin >> b ;

   cout << "\nInput values of c : " ;

   cin >> c;

// محاسبه پارامتر دلتا

   d = b*b-(4*a*c);

   if(d>=0)

   {

// چنانچه معادله دارای ریشه های حقیقی باشد

       cout << "\nThe first real root is : " << (-b+sqrt(d))/(2*a) ;

       cout << "\nThe second real root is : " << (-b-sqrt(d))/(2*a) ;

   }

   else{

// چنانچه معادله دارای ریشه های موهومی باشد

       cout << "\nThe first Complex root is : " << (-b)/(2*a) <<" + i "<<sqrt(-d)/(2*a) ;

       cout << "\nThe first Complex root is : " << (-b)/(2*a) <<" - i "<<sqrt(-d)/(2*a) ;

   }

   return 0;

}
آخرین ویرایش: 06-07-2015 ساعت 17:50، توسط Reza
1
#include <iostream>

#include <cmath>

using namespace std ;

int main() {

// تعریف متغیر

      double a, b, h, xn, xi, sum =0 ;

// گرفتن کران پایین از کاربر

      cout <<("Insert a (bottom bound): ") ;

      cin >> a ;

// گرفتن کران بالا از کاربر

      cout << ("\nInsert b (top bound ) : " ) ;

      cin >> b ;

// گرفتن طول بازه ها از کاربر

      cout << ("\nInsert h (Interval) : " ) ;

      cin >> h ;

      xi = a;

      while(xi < b)

      {

             xn = xi + h ;

// محاسبه سطح منحنی بر اساس مجموع مساحتهای ذوزنقه ها

             sum = sum + (h / 2)*((xi*xi*xi) + (xn*xn*xn));

             xi = xn ;

      }

      cout << "\nIntegral of y=x^3 is (Trapezoidal rule) : " << sum ;

      return 0;

}
آخرین ویرایش: 06-07-2015 ساعت 17:50، توسط Reza
0
#include<iostream>

#include<cmath>

using namespace std;

#define MAXITER 50

// تعریف ثابتی برای نشان دادن میزان همگرایی

#define EPS 1.0e-10               

double f(double) ;

double bisect(double,double);

int main(void){

       double a,b,root;

       cout<<"Enter 2 starting values  "<<endl;

       cout<<"A : ";

       cin>>a;

       cout<<"\nB : ";

       cin>>b;

       root = bisect(a,b);

       cout<<"Root is at : "<<root<<endl;

       return 0;

}

// تعریف تابعی که می خواهیم ریشه آن را بدست آوریم

double f(double x){

       return (x-cos(x));

}

// اعمال روش نصف نمودن بازه و تست روش نصف کردن

double bisect(double a,double b){

       int n;

       double c;

       for(n=0;n<MAXITER;n++){

               c=(a+b)/2.0;

               if(fabs(f(c))<EPS)        break; 

               if(f(a)*f(c)<0.0)        b=c;

               else a=c;
       }

       return c;
}
آخرین ویرایش: 06-07-2015 ساعت 17:50، توسط Reza
0
#include <iostream>

using namespace std ;

long LCM(long,long);

int main() {

// تعریف متغیرها

    long n1,n2;

// گرفتن دو عدد مورد نظر از کاربر

    cout <<"Enter the first number : ";

    cin >>n1;

    cout <<"\nEnter the second number : ";

    cin >>n2;

    cout<<"\n\nLowest common multiple is : " <<LCM(n1,n2);

    return 0;

}

// تعریف تابع محاسبه کننده ک.م.م دو عدد

long LCM(long num1, long num2) {

    long temp;

// مرتب کردن دو عدد بر حسب صعودی - نزولی

    if(num1 > num2)

    {

        temp = num2 ;

        num2 = num1 ;

        num1 = temp ;

    }

// مقدار دهی اولیه متغیر نگهدارنده ب.م.م

    long lastGCF=1;

    for (long factor=2; factor<=num2; ++factor)

    {

        if ( num1%factor==0 && num2%factor==0 )

        {

            lastGCF=factor;

        }

    }

// بازگرداندن ک.م.م پس از مشخص شدن ب.م.م

    return ((num1*num2)/lastGCF);

}
0
#include <iostream>

#include <cmath>

using namespace std;

double NRoot(double, double ) ;

int main()
{  

    cout << "The 3th root of 125 is : "<<NRoot(125, 3) << endl;

    cout << "The 4th root of 81 is : "<<NRoot(81, 4) << endl;

return 0 ;
}

// تابع محاسبه کننده ریشه ان ام

double NRoot(double num, double root) {

    root=1/root;

    return(pow(num, root));
}
0
#include<iostream.h>
    #include<conio.h>
    #include<math.h>
    #include<stdio.h>
    #include<string.h>

    int main(){
    clrscr();
    char ch='*';
    int i=20,j=20;
    cout<<"press N ,S ,W ,E to play and press ENTER to exit";
    while(1){
    if(i>50)i=2;
    if(i<2)i=50;
    if(j>40)j=2;
    if(j<2)j=40;
    gotoxy(i,j);
    cout<<ch;
    switch(getch()){
          case 's':j++;ch='v';break;
          case 'n':j--;ch='^';break;
          case 'e':i++;ch='>';break;
          case 'w':i--;ch='<';break;
          default :return 0;
    }//end of switch
    clrscr();
         }//end of while
    cout<<"\n\n press ENTER to exit . . . ";
    getch();
    //Softafzar.net
    return 0;
    }
0
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<stdio.h>
#include<string.h>

int main(){
clrscr();
char a[255];
int i,count=0;
char ch;
cout<<"\n please , type the words and press . ==> \n ";
//gets(a);
for(i=0;i<255;i++){
cin>>ch;
if(ch>='a'&&ch<='z')count++;
if(ch>='A'&&ch<='Z')count++;
if(ch=='.')break;
}
cout<<"\n\n sum of the word is : "<<count;
cout<<"\n\n press ENTER to exit . . . ";
getch();
return 0;
}
0

فرمول بدست آوردن BMI عبارت است از: وزن بر حسب کیلوگرم تقسیم بر مجذور قد بر حسب متر

//BMI Calculator
#include <iostream.h>

int main()
{
float w,h,bmi;
cout<<"Welcome to BMI Calculator by sepehr!"<<endl;
cout<<"Please enter your weight in kgs:"<<endl;
cin>>w;
cout<<"Now Please enter your height is meters:"<<endl;
cin>>h;
bmi=w/(h*h);
cout<<"Your BMI is: "<<bmi<<endl;
//Rating
if(bmi<=18.5)
cout<<"You are Underweight!"<<endl;
else if(bmi<=24.9)
cout<<"You are Normal!"<<endl;
else if(bmi<=29.9)
cout<<"You are Overweight!"<<endl;
else if(bmi<=49.9)
cout<<"You are Obese!"<<endl;
else
cout<<"Your BMI is not recognized by rating!"<<endl;
return 0;
}

//end
0
#include <iostream.h>
int main()
{
long int x;
int count=0;
cin>>x;
for(;x>=1;x/=10)
count++;
cout<<"Tedade argham: "<<count;
return 0;
}
0
#include <iostream.h>

int main()
{
long int x;
cout<<"Please enter a number:\n";
cin>>x;
for(;x>=1;x/=10)
cout<<x%10;
return 0;
}


//end
0
//Guess number
#include <iostream.h>
#include <conio.h>

int main()
{
long int x,c1=1,c2=50,c3=100;
cout<<"think about a number from 1-99 in your mind!\n"<<endl;
for(;c2<100;)
{
cout<<"Is your number: bigger=1, equal=0, smaller=-1 than "<<c2<<"?\n";
cin>>x;
if(x==1)
{
c1=c2;
c2=(c2+c3)/2;
}
else if(x==0)
{
cout<<"Your number is "<<c2<<"!\n";
break;
}
else if(x==-1)
{
c3=c2;
c2=(c2+c1)/2;
}
}
getch();
return 0;
}
0
void selectionSort(int arr[], int len)
{
int i, j, minIndex, tmp;
for (i = 0; i < len - 1; i++)
{
minIndex = i;
for (j = i + 1; j < len; j++)
if (arr[j] < arr[minIndex])
minIndex = j;
if (minIndex != i)
{
tmp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = tmp;
}
}
}
0
void BubbleSort(int temp[], int len)
{
int i, j, item;
for(i=len-1;i>0;i--)
for(j=0;j<i;j++)
if(temp[j]>temp[j+1])
{
item=temp[j];
temp[j]=temp[j+1];
temp[j+1]=item;
}
}
0
void trans()
{
clrscr();
int s=0,i2=0,x[99];
char y[99]={0};
//Get number
cout<<"Enter your number:\n";
do
{
i2++;
y[i2]=getche();
}while(y[i2]!=13);
i2--;
//recognize digits
for(register int i=1;i2>=1;i2--)
{
x[i]=y[i2]-48;
i++;
}
i--;
//Show number
clrscr();
cout<<"Your number: ";
for(register int i3=i;i3>=1;i3--)
cout<<x[i3];
cout<<endl<<"Result:\n";
//Translate
for(;i>=1;i--)
{
if(s==1)
{
switch(x[i])
{
case 0:cout<<"";break;
case 1:cout<<"eleven ";break;
case 2:cout<<"twelve ";break;
case 3:cout<<"thirteen ";break;
case 4:cout<<"fourteen ";break;
case 5:cout<<"fifteen ";break;
case 6:cout<<"sixteen ";break;
case 7:cout<<"seventeen ";break;
case 8:cout<<"eighteen ";break;
case 9:cout<<"nineteen ";break;
}
s=0;
}
else
{
if(i%3==2)
{
switch(x[i])
{
case 0:cout<<"";break;
case 1:s=1;break;
case 2:cout<<"twenty ";break;
case 3:cout<<"thirty ";break;
case 4:cout<<"fourty ";break;
case 5:cout<<"fifty ";break;
case 6:cout<<"sixty ";break;
case 7:cout<<"seventy ";break;
case 8:cout<<"eighty ";break;
case 9:cout<<"ninety ";break;
}
}
else
{
switch(x[i])
{
case 0:cout<<"";break;
case 1:cout<<"one ";break;
case 2:cout<<"two ";break;
case 3:cout<<"three ";break;
case 4:cout<<"four ";break;
case 5:cout<<"five ";break;
case 6:cout<<"six ";break;
case 7:cout<<"seven ";break;
case 8:cout<<"eight ";break;
case 9:cout<<"nine ";break;
default: trans();
}
}
}
if((x[i+2]==0&&x[i]==0)||(x[i]==0&&x[i-2]==0))
{
cout<<"";
}
else
{
if(i%3==0)
cout<<"hundred ";
else if(i==4)
cout<<"thousand ";
else if(i==7)
cout<<"million ";
else if(i==10)
cout<<"billion ";
else if(i==13)
cout<<"trillion ";
else if(i==16)
cout<<"quadrillion ";
else if(i==19)
cout<<"quintillion ";
else if(i==22)
cout<<"sextillion ";
else if(i==25)
cout<<"septillion ";
else if(i==28)
cout<<"octillion ";
else if(i==31)
cout<<"nonillion ";
else if(i==34)
cout<<"decillion ";
else if(i==37)
cout<<"undecillion ";
else if(i==40)
cout<<"duodecillion ";
else if(i==43)
cout<<"tredecillion ";
else if(i==46)
cout<<"quattuordecillion ";
else if(i==49)
cout<<"quindecillion ";
else if(i==52)
cout<<"sexdecillion ";
else if(i==55)
cout<<"septendecillion ";
else if(i==58)
cout<<"octodecillion ";
else if(i==61)
cout<<"novemdecillion ";
else if(i==64)
cout<<"vigintillion ";
else if(i==67)
cout<<"unvigintillion ";
else if(i==70)
cout<<"duovigintillion ";
else if(i==73)
cout<<"trevigintillion ";
else if(i==76)
cout<<"quattuorvigintillion ";
else if(i==79)
cout<<"quinvigintillion ";
else if(i==82)
cout<<"sexvigintillion ";
else if(i==85)
cout<<"septenvigintillion ";
else if(i==88)
cout<<"octovigintillion ";
else if(i==91)
cout<<"novemvigintillion ";
else if(i==94)
cout<<"trigintillion ";
else if(i==97)
cout<<"untrigintillion ";
else if(i==100)
cout<<"duotrigintillion ";
ESC:
}
}
gotoxy(0,22);
cout<<endl<<endl<<"Press any key to translate another number"<<endl;
getch();
trans();
}

//end
0
void shellsort(int A[],int max)
{
int stop,swap,limit,temp;
int x=(int)(max/2)-1;
while(x>0)
{
stop=0;
limit=max-x;
while(stop==0)
{
swap=0;
for(int k=0;k<limit;k++)
{
if(A[k]>A[k+x])
{
temp=A[k];
A[k]=A[k+x];
A[k+x]=temp;
swap=k;
}
}
limit=swap-x;
if(swap==0)
stop=1;
}
x=(int)(x/2);
}
}

//end
0
void combsort(int *arr, int n)
{
float shrink_factor = 1.247330950103979;
int gap = n, swapped = 1, swap, i;

while ((gap > 1) || swapped)
{
if (gap > 1)
gap = gap / shrink_factor;

swapped = 0;
i = 0;

while ((gap + i) < n)
{
if (arr[i] - arr[i + gap] > 0)
{
swap = arr[i];
arr[i] = arr[i + gap];
arr[i + gap] = swap;
swapped = 1;
}
++i;
}
}
}
0
void cocktail_sort (int Arr[], int n)
{
int left = 0, right = n;
bool finished;
do
{
finished = true;
--right;
for (int i = left; i < right; i++)
if (Arr[i] > Arr[i+1]) {
swap(Arr[i], Arr[i+1]);
finished = false;
}
if (finished) return;
finished = true;
for (int i = right; i > left; i--)
if (Arr[i] < Arr[i-1]) {
swap(Arr[i], Arr[i-1]);
finished = false;
}
++left;
} while (!finished);
}


//end
0
void fnSortHeap(int arr[], int ubound)
{
int i,o;
int lChild, rChild, mChild, root, temp;
root = (ubound-1)/2;
for(o=root;o>=0;o--)
{
for(i=root;i>=0;i--)
{
lChild = (2*i)+1;
rChild = (2*i)+2;
if ((lChild <= ubound) && (rChild <= ubound))
{
if(arr[rChild] >= arr[lChild])
mChild = rChild;
else
mChild = lChild;
}
else
{
if(rChild > ubound)
mChild = lChild;
else
mChild = rChild;
}
if (arr[i] < arr[mChild])
{
temp = arr[i];
arr[i] = arr[mChild];
arr[mChild] = temp;
}

}

}

temp = arr[0];
arr[0] = arr[ubound];
arr[ubound] = temp;
return;
}
0
void countingSort(vector<int>& arr)
{
int Min, Max;
Min = Max = arr[0];
for(int i = 1; i < arr.size(); i ++)
{
if(arr[i] < Min)
Min = arr[i];

if(arr[i] > Max)
Max = arr[i];
}
int Range = Max - Min + 1;

vector<int> Count(Range,0);

for(int i = 0; i < arr.size(); i ++)
Count[arr[i] - Min] ++;

int Index = 0;
for(int i = Min; i <= Max; i ++)
for(int j = 0; j < Count[i - Min]; j ++)
arr[Index ++] = i;
}


//end
0
void bucketSort(int a[],int n, int max)
{
int* buckets = new int[max];
int SIZE = n;
for(int j = 0 ; j <= max ; j++)
buckets[j] = 0;
for(int i = 0 ; i < SIZE ; i++)
++buckets[a[i]];
for(i = 0 , j = 0 ; j <= max ; ++j)
for(int k = buckets[j] ; k > 0 ; k--)
a[i++] = j;
}
0
void mergeSort(int numbers[], int temp[], int array_size)
{
m_sort(numbers, temp, 0, array_size - 1);
}


void m_sort(int numbers[], int temp[], int left, int right)
{
int mid;

if (right > left)
{
mid = (right + left) / 2;
m_sort(numbers, temp, left, mid);
m_sort(numbers, temp, (mid+1), right);

merge(numbers, temp, left, (mid+1), right);
}
}

void merge(int numbers[], int temp[], int left, int mid, int right)
{
int i, left_end, num_elements, tmp_pos;

left_end = (mid - 1);
tmp_pos = left;
num_elements = (right - left + 1);

while ((left <= left_end) && (mid <= right))
{
if (numbers[align=left] <= numbers[mid])
{
temp[tmp_pos] = numbers[align=left];
tmp_pos += 1;
left += 1;
}
else
{
temp[tmp_pos] = numbers[mid];
tmp_pos += 1;
mid += 1;
}
}

while (left <= left_end)
{
temp[tmp_pos] = numbers[align=left];
left += 1;
tmp_pos += 1;
}
while (mid <= right)
{
temp[tmp_pos] = numbers[mid];
mid += 1;
tmp_pos += 1;
}

//modified
for (i=0; i < num_elements; i++)
{
numbers[align=right] = temp[align=right];
right -= 1;
}
}
0
void insertionsort ( int arr[] , int n)
{
int i , j , x;
for (i=2 ; i<=n ; i++)
{
x = arr [i];
j= i-1;
while( j>0 && arr [j] > x)
{
arr[j+1] = arr [j];
j--;
}
arr[j+1]=x;
}
}
0
#include <iostream.h>
#include <math.h>

void main()
{
int a, b, c;
int delta;
cout<<"Please enter a, b, c as this structure: ax^2+bx+c=0"<<endl;
cin>>a>>b>>c;
delta = (b*b)-(4*a*c);
if(delta == 0)
{
cout<<"The only answer:\n"<<"x= "<<(-b)/(2*a);
}
else if(delta > 0)
{
cout<<"Two answers:\n"<<"x1= "<<((-b)+sqrt(delta))/(2*a);
cout<<"\tx2= "<<((-b)-sqrt(delta))/(2*a);
}
}

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.

لطفا ابتدا لاگین کنید