PDA

View Full Version : آموزش: لیستی از سوالات به همراه جواب آنها در زبان برنامه نویسی c++



SilverLearn
جمعه 01 آذر 1392, 19:00 عصر
با سلام

در این تاپیک می خواهم لیستی از سوالات متداول برنامه نویسی را برای شما دوستان قرار دهم ...

این سوالات بیشتر در کتاب آموزش c++ جعفر نژاد قمی در تمرین ها قرار دارد که ما در اینجا به آنها جواب خواهیم داد

امیدوارم مفید باشه ....

SilverLearn
جمعه 01 آذر 1392, 19:01 عصر
برنامه ای بنویسید که دو مقدار اعشاری را از ورودی خوانده و تفاضل و حاصلضرب و حاصل تقسیم آنها را محاسبه کرده به خروجی ببرد .

برنامه وقتی خاتمه می یابد که هر دو عدد اعشاری صفر باشند.


#include <iostream.h>
#include <conio.h>
#include <math.h>
int main(){
float a , b ,result ;
cout << "please enter 2 float number \n";
cout << " enter a : ";
cin >> a ;
cout << " enter b : ";
cin >> b ;
while (a!=0 || b!=0){
result = (a*b)-(a/b);
cout << " result = " << result ;
cout << "\n please enter 2 float number ";
cout << " enter a : ";
cin >> a ;
cout << " enter b : ";
cin >> b ;
}
getch();
return 0 ;
}

SilverLearn
جمعه 01 آذر 1392, 19:03 عصر
برنامه ای بنویسید که با استفاده از حلقه های تودرتو خروجی زیر را تولید کند .

$$$$$$
$$$$$$
$$$$$$
$$$$$$



#include <iostream.h>
#include <conio.h>
int main(){
int i , j ;
for (i=0 ; i<4 ; i++}(
for (j=0 ; j<6 ; j++){
cout << '$';
}
cout << '\n';
}

getch();
return 0 ;
}

SilverLearn
جمعه 01 آذر 1392, 19:04 عصر
برنامه ای بنویسید که ضرایب معادله درجه دوم را از ورودی گرفته ، معادله را حل کند .

a x ^ 2 + b x + c = 0


#include <iostream.h>
#include <conio.h>
#include <math.h>
int main(){
int a,b,c;
int d;
double r1,r2;
cout << "enter 3 number (a,b,c) for ax^2+bx+c \n" ;
cout << " please enter a :" ;
cin >> a ;
cout << " please enter b :" ;
cin >> b ;
cout << " please enter c :" ;
cin >> c ;
d= (b*b) - (4*a*c);
if (d>0){
r1=((-b)-sqrt(d))/(2*a);
r2= ((-b)+sqrt(d))/(2*a);
cout << "r1 : " << r1 <<'\t'<< "r2 : " << r2;
}
else if (d==0){
r1 = (-b)/(2*a);
cout << " r1,r2 : " << r1;
}
else if (d<0)
cout << " rishe nadarim " ;
getch();
return 0 ;
}

SilverLearn
جمعه 01 آذر 1392, 19:06 عصر
برنامه ای بنویسید که عددی از 1 تا 7 را خوانده ، روزی از هفته را که معادل با آن است را در خروجی چاپ کند (switch)



# include <iostream.h>
# include <conio.h>
int main(){
int x;
cout << "please enter number 1 - 7 for days : " ;
cin >> x;
switch (x) {
case 1 :
cout << "saturday";
break;
case 2 :
cout << "sunday";
break;
case 3 :
cout << "monday";
break;
case 4 :
cout << "tusday";
break;
case 5 :
cout << "thirsday";
break;
case 6 :
cout << "wendsday";
break;
case 7 :
cout << "friday";
break;
default :
cout << " this number not corect becuase 1 - 7 ";
break;
}
getch();
return 0;
}

SilverLearn
جمعه 01 آذر 1392, 19:08 عصر
برنامه ای بنویسید که حاصل عبارت زیر را محاسبه کند ( n < 10 )

1 + (1/2!) + (1/3!) + … + (1/n!)


# include <iostream.h>
# include <conio.h>
int main(){
int i , num ;
long int fact = 1 ;
float sum = 0 ;
clrscr();
cout << "Enter one number for factoriel : " ;
cin >> num ;
for (i=1 ; i<=num ; i++ ) {
fact *= i ;
sum += (1/(float)fact) ;
}
cout << "\nsum : " << sum ;
getch();
return 0;
}

SilverLearn
جمعه 01 آذر 1392, 19:10 عصر
برنامه ای بنویسید که شماره کارمندی و حقوق تعدادی از کارکنان موسسه ای را دریافت کرده ، براساس تعرفه زیر ، مالیات حقوق آنها را محاسبه کند و به خروجی ببرد . سپس مشحص کند ، بیشترین دریافتی مربوط به کدام کارمند است .


از مالیات معاف 400،000 > حقوق
10 درصد مالیات نسبت به مازاد 500،000 > حقوق > 400،001
15 درصد مایات نسبت به مازاد 700،000 > حقوق > 500،001
17 درصد مالیات نسبت به مازاد 700،000 < حقوق


# include <iostream.h>
# include <conio.h>
long int main(){
int i , n ;
long int number , maxnumber, price , acord ;
float salary , tax , maxsalary = 0 ;

cout << " please tell sum employers : " ;
cin >> n ;
for (i = 1 ; i <=n ; i++ ) {
cout << "\n please number employer : " ;
cin >> number ;
cout << "\n please salary employer : " ;
cin >> price ;
if (price <= 400000) {
cout << "\n salary is " << price ;
cout << " \n ----------------------------------" ;
}
else if ( 400000 < price && price < 500001 ) {
acord = price - 400000;
tax = (10 * acord)/ 100 ;
salary = tax + price ;
cout << "\n salary is " << salary ;
cout << " \n ----------------------------------" ;
}
else if ( 500000 < price && price < 700001 ) {
acord = price - 400000;
tax = (15 * acord)/ 100 ;
cout << "tax " << tax ;
salary = tax + price ;
cout << "\n salary is " << salary ;
cout << " \n ----------------------------------" ;
}
else if ( price > 700000 ) {
acord = price - 400000;
tax = (17 * acord)/ 100 ;
salary = tax + price ;
cout << "\n salary is " << salary ;
cout << " \n ----------------------------------" ;
}
if (price > maxsalary){
maxsalary = salary ;
maxnumber = number ;
}
}
cout << " \n ====================================" ;
cout << " \n maixmum salary is : " << maxsalary ;
cout << " \n maixmum salary number is : " << maxnumber ;
getch();
return 0;
}

SilverLearn
جمعه 01 آذر 1392, 19:12 عصر
برنامه ای بنویسید که تعداد n جمله از سری فیبوناچی را تولید کند

1 1 2 3 5 8 13 …


#include <iostream.h>
#include <conio.h>
int main(){
int x=1 , g = 1 , z , k , n ;
clrscr();
cout << " how many number for fibonachi ? : " ;
cin >> n ;
n -= 2 ;
cout << x << " " << g << " " ;
z = x + g ;
cout << z << " " ;
for (k = 1 ; k <= n -1 ; k++ ){
x = g ;
g = z ;
z = x + g ;
cout << z << " " ;
}
getch() ;
return 0 ;
}

SilverLearn
جمعه 01 آذر 1392, 19:13 عصر
برنامه ای بنویسید که کارکتری را که نشان دهنده رنگی است ، از ورودی خوانده به شما بگوید که چه رنگی را می خواهد انتخاب کند . مثلاٌ
کاربر حرف 'r' را وارد کرد برنامه به او بگوید که دوست دارد رنگ قرمز را انتخاب کند . برای تمام موارد حروف کوچک و بزرگ کنترل شود . مثل 'r' و 'R' برای رنگ قرمز.



#include <stdio.h>
#include <iostream.h>
#include <conio.h>
int main(){
char ch , x='y' ;
while (x=='y'){
cout << " please enter r,g,b,w,y for color : ";
cin >> ch ;
switch (ch) {
case 'R' :
case 'r' :
cout << " red \n" ;
break;
case 'G' :
case 'g' :
cout << " Grean \n";
break;
case 'B' :
case 'b' :
cout << " black \n";
break;
case 'W' :
case 'w' :
cout << " White \n";
break;
case 'Y' :
case 'y' :
cout << " Yellow \n";
break;
default :
cout << " This is not into list color " ;
}
cout << "please enter Y/N for continu : " ;
cin>>x;
}
getch() ;
return 0 ;
}

SilverLearn
جمعه 01 آذر 1392, 19:50 عصر
برنامه ای بنویسید که خروجی زیر را در صفحه نمایش چاپ کند .


*
**
***
****
*****
******




#include <iostream.h>
#include <conio.h>
int main(){
int i , j ;
for (i = 1 ; i<=6 ; i++ ) {
for ( j = 1 ; j<=i ; j++ ) {
cout << "*";
}
cout << "\n" ;
}

getch() ;
return 0 ;
}

SilverLearn
جمعه 01 آذر 1392, 19:52 عصر
برنامه ای بنویسید که اعدادی را از ورودی خوانده تشخیص دهد آیا اعداد مورد نظر ، کامل هستند یا خیر . عددی کامل است که مجموع مقسوم علیه های آن ( به جزء خودش )

برابر با آن عدد باشد . پس از بررسیهر عدد ، برنامه باید از کاربر سوال کند که می خواهد به کارش ادامه دهد یا خیر.




#include <iostream.h>
#include <conio.h>
int main(){
int n ,i, s=1,x=1;
char z;
while (x){
cout << " please enter 1 number for compelet number : ";
cin >> n;


for (i=2;i<n;i++){
if ((n%i)==0){
s+=(n/i);
}
}

if (n==s){
cout <<" number is complet : " << n;
}
else {
cout << "not complete";
}
cout << " \n do you want to continue y/n : " ;
cin >> z ;
if (z=='y')
continue;
else
x=0;
}
getch();
return 0 ;

}

SilverLearn
جمعه 01 آذر 1392, 19:55 عصر
برنامه ای بنویسید که شماره دانشجویی و معدل تعداد n دانشجو را از ورودی خوانده ، دانشجویی را که دومین معدل را از نظر بزرگی دارد پیدا کند و به خروجی ببرد.



#include <iostream.h>
#include <conio.h>
int main(){
int n , i;
long int number , number1 = 0 , number2 = 0 ;
float ave=0 , maxave = 0 , twoave = 0;
cout << "please n student : " ;
cin >> n ;
for (i=0 ; i<n ; i++) {
cout << " please number student : " ;
cin >> number ;
cout << " please average student : " ;
cin >> ave ;
if (ave > 20 ) {
cout << " please enter average <= 20 : " ;
cin >> ave ;
}
if ( ave > maxave ) {
twoave = maxave ;
maxave = ave ;
number2 = number1 ;
number1 = number ;
}
else if (ave > twoave ){
twoave = ave ;
number2 = number ;
}
}
cout << " maxaverage is " << maxave << " number student " << number1 ;
cout << "\n twoaverage is " << twoave << " number student " << number2;
getch() ;
return 0 ;
}

گندم از بهشت
چهارشنبه 28 بهمن 1394, 15:50 عصر
با عرض سلام و خسته نباشید
اگر یه لیست رو تعریف کنم بعد برای به دست آوردن یه فرمول مثلا x+y استفادش کنم، به طوری که x و y از لیست انتخاب شده باشن.. اون وقت از چه دستوری باید استفاده کنم تا فقط جواب رو تو اون بازه یی که من می خوام بهم بده؟
ممنون میشم اگه راهنماییم کنین:متفکر: