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

بازدید316kپست ها61آخرین فعالیت2 سال پیش
1
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);
}
}

سوال برنامه نویسی دارید؟

هیچ وقت در پرسیدن سوال شک نکنید

خوش آمدید

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