پروژه برنامه مویسی

پروژه برنامه نویسی

پروژه برنامه مویسی

پروژه برنامه نویسی

15-4

مسئله ی زیر با استفاده از یک ارایه ی یک بعدی حل کنید:

20 عدد اعداد 10 تا 100 را خوانده و بعد از هر بار خواندن عدد اگر این عدد قبلا خوانده نشده بود ان را چاپ کنید. این مسئله را برای ((بدترین حالت)) که در ان 20 عدد خوانده شده متفاوت است حل کنید. از کوچک ترین ارایه ممکن برای حل وساله استفاده کنید.


#include<iostream>

using std::cout;

using std::endl;

using std::cin;

#include<iomanip>

using std::setw;

int main()

{

const int SIZE = 20;

int a[SIZE] = {0}, subscript = 0, duplicate, value;

cout << "Enter 20 integers between 10 and 100:\n";

for(int i = 0; i < SIZE; ++i) {

duplicate = 0;

cin >> value;

for(int j = 0; j < subscript; ++j)

if(value == a[j]) {

duplicate = 1;

break;

}

if(!duplicate)

a[subscript++] = value;

}

cout << "\nThe nonduplicate value are:\n";

for(int i = 0; a[i] != 0; ++i)

cout << setw(4) << a[i];

cout << endl;

return 0;

}

مسئله ی زیر را با استفاده از یک ارایه ی تک اندیسی حل کنید: شرکتی به صورت درصدی حقوق فروشندگان خود را پرداخت می کند. فروشندگان هفتگی 200 دلار به اضافه ی 9 درصد از فروش ناخالص هفتگی خود را دریافت می کنند. مثلا فروشنده ای که 5000 دلار فروش خالص طی یک هفته داشته 200 دلار به اضافه ی 9 درصد 5000 دلار و یا به عبازتی 650 دلار دریافت می کند. برنامه ای با استفاده از ارایه ای از شمارنده ها بنویسید که مشخص کند چند فروشنده حقوقی در هر یک از محدوده های زیر دریافت کرده است. (فرض کنید که قسمت اعشار حقوق فروشندگان را حذف می کنیم)


الف) 200 تا 299 دلار

ب) 300 تا 399 دلار

ج) 400 تا 499 دلار

د) 500 تا 599 دلار

ه) 600 تا 699 دلار

و) 700 تا 799 دلار

ز) 800 تا 899 دلار

ح) 900 تا 999 دلار

خ) 1000 دلار و بالاتر

----


#include<iostream>

using std::cout;

using std::endl;

using std::cin;

using std::ios;

#include<iomanip>

using std::setprecision;

using std::setiosflags;

void wages(int []);

void display(const int []);

int main()

{

int salaries[11] = {0};

cout << setiosflags(ios::fixed | ios::showpoint);

wages(salaries);

display(salaries);

return 0;

}

void wages(int money [])

{

double sales, i = 0.09;

cout << "Enter employee gross sales (-1 to end): ";

cin >> sales;

while(sales != -1) {

double salary = 200 + sales * i;

cout << setprecision(2) << "Employes comission is $"

<< salary << '\n';

int x = static_cast<int> (salary) / 100;

++money[(x < 10 ? x : 10)];

cout << "\nEnteremployes gross sales (-1 to end): ";

cin >> sales;

}

}

void display(const int dollars[])

{

cout << "Employes in the range:";

for(int i = 2; i < 10; i++)

cout << "\n$" << i << "00-$" << i << "99 : " << dollars[1];

cout << "\nOver $1000: " << dollars[10] << endl;

}

توضیحی درباره ی مطالب این وبلاگ

     دوستان,  مطالب این وبلاگ اکثرا از کتاب "تشریح کامل مسائل چگونه با سی پلاس پلاس برنامه نویسی کنیم" هست. نویسنده ی این کتاب هاروی دایتل - پاول دایتل و ترجمه ی این کتاب هم مهندس وحید علم بیگی و مهندس فرشید علم بیگی است.

41-3 فیبوناچی

41-3 سری فیبوناچی

0, 1, 1, 2, 3, 5, 8, 13, 21,...

با 0 و 1 شروع می شود و دارای این خاصیت است که هر عنصر برابر با جمع دو عنصر پیشین خود.

الف) تابعی غیر بازگشتی به صورت ()fibonachi "داخل پرانتز n هست!" بنویسید که n امین عدد فیبوناچی را محاسبه کند.


ب) بزرگ ترین عدد فیبوناچی را که می تواد روی سیستم شما نمایش داده شود را بدست اورید.

ج) به گونه ای برنامه بند (الف) رت تغییر دهید که برای محاسبه و بازگرداندن اعداد فیبوناچی از double  جای int استفاده نماید و از این برنامه برای بند (ب) نیز استفاده کنید.

پاسخ در ادامه ی مطلب

  ادامه مطلب ...

سری فیبوناچی

41-3 سری فیبوناچی

0, 1, 1, 2, 3, 5, 8, 13, 21,...

با 0 و 1 شروع می شود و دارای این خاصیت است که هر عنصر برابر با جمع دو عنصر پیشین خود.

الف) تابعی غیر بازگشتی به صورت ()fibonachi "داخل پرانتز n هست!" بنویسید که n امین عدد فیبوناچی را محاسبه کند.


ب) بزرگ ترین عدد فیبوناچی را که می تواد روی سیستم شما نمایش داده شود را بدست اورید.

ج) به گونه ای برنامه بند (الف) رت تغییر دهید که برای محاسبه و بازگرداندن اعداد فیبوناچی از double  جای int استفاده نماید و از این برنامه برای بند (ب) نیز استفاده کنید.