نمونه سوالات سی پلاس پلاس پیشرفته همراه با حل سوالات منتخب
با توجه به نزدیک شدن به ایام امتحانات در این نوشته به طرح سوالات سی پلاس پلاس پیشرفته به همراه حل برخی از کدهای آن پرداخته شده است. اگر در فهم سوالات مشکل دارید شاید بد نباشد مطالبی که درآموزش ماتریس، استراکچر ، اشاره گر و شی گرایی مطرح شده است را نگاهی دوباره بیندازید. همچنین در قسمت نظرات میتوانید سوالات یا توضیحات تکمیلی در مورد مثالهای ارائه شده با دوستانتان مطرح کنید.
نمونه سوالات ماتریس
1- برنامه ای بنویسید که از ورودی یک ماتریس دریافت کند و
a- مجموع عناصر ماتریس را چاپ کند.
b- مجموع عناصر قطر اصلی را چاپ کند.
c- مجموع عناصر بالای قطر اصلی را چاپ کند
d- مجموع عناصر پایین قطر اصلی را چاپ کند.
2- برنامه ای بنویسید که از ورودی یک ماتریس دریافت کند و
a- بزرگترین عنصر ماتریس را چاپ کند.
b- بزرگترین عنصر قطر اصلی را چاپ کند.
c- بزرگترین عنصر بالای قطر اصلی را چاپ کند
d- بزرگترین عنصر پایین قطر اصلی را چاپ کند
3- برنامه ای بنویسید که از ورودی یک ماتریس دریافت کند و
a- تشخیص دهد که آیا ماتریس قطری است یا خیر
b- تشخیص دهد که آیا ماتریس بالا مثلثی است یا خیر
c- تشخیص دهد که آیا ماتریس پایین مثلثی است یا خیر
d- تشخیص دهد که آیا ماتریس متقارن است یا خیر
4- برنامه ای بنویسید که از ورودی یک ماتریس دریافت کند و
a- حاصلجمع عناصر سطر اول ماتریس
b- حاصلضرب عناصرستون آخر
c – تعداد عناصر صفر ماتریس
d- کوچکترین عنصر قطر فرعی ماتریس
5- برنامه ای بنویسید که دو ماتریس از ورودی دریافت کند
a- حاصلجمع دو ماتریس را چاپ کند
b- حاصلضرب دو ماتریس را چاپ کند
c- تشخیص دهد که آیا دو ماتریس برابرند یا خیر
نمونه سوالات استراکچر - struct
1- برنامه ای بنویسید که:
a- با استفاده از structure یک تاریخ مشخص از ورودی دریافت کند. سپس همان اطلاعات را در خروجی چاپ کند. (تاریخ شامل روز ماه و سال)
b- با استفاده از structure یاطلاعات یک دانشجو از ورودی دریافت کند. سپس همان اطلاعات را در خروجی چاپ کند. (اطلاعات دانشجو شامل: نام، شماره دانشجویی، معدل و تاریخ تولد)
2- برنامهای بنویسید که اطلاعات 10 دانشجو (شامل شمارهی دانشجویی، نام دانشجو، معدل دانشجو و تاریخ تولد) را دریافت کند و
a- نام دانشجویی که بیشترین معدل کلاس را دارد چاپ کند.
b- به معدل دانشجویی که بیشترین سن را دارد (برای احترام به بزرگترها و کسوت مداری) یک نمره اضافه کند!
c- اطلاعات دانشجویان را بر حسب معدل (به صورت نزولی) نمایش دهد
3- برنامه ای بنویسید که از ورودی اطلاعات 10 کارمند (شامل نام، حقوق و سن) را دریافت کند و
a- نام کارمندی که بیشترین حقوق دریافت میکند چاپ کند.
b- میانگین حقوق کارمندان را محاسبه کند.
c- تعداد کارمندانی که زیر 3 میلیون تومان حقوق دریافت میکنند را چاپ کند
d-
4- برنامهای بنویسید که ورودی تاریخ تولد کاربر و تاریخ امروز را دریافت کند. سپس سن کاربر را محاسبه کند.
5- برنامه ای بنویسید که از ورودی مختصات 10 نقطه دریافت کند (هر نقطه شامل x و y است)
a- و مرکز این نقاط را پیدا کند. (منظور از مرکز میانگین همه نقاط است)
b- سپس یک نقطه دیگر از ورودی دریافت کند و نزدیکترین نقطه (از بین 10 نقطه اول) به نقطه جدید را پیدا کند.
50 سوال ++C مقدماتی
50 سوال از ساختار تکرار، تابع، آرایه و سوالات چالشی به همراه حل سوالات منتخب
نمونه سوالات اشاره گر - pointer
1- برنامه ای بنویسید که با استفاده از اشاره گرها طول و عرض مستطیلی را دریافت کند و محیط و مساحت آن را محاسبه کند.
2- برنامه ای بنویسید که با استفاده از اشاره گرها یک آرایه دریافت کند و مجموع عناصر آرایه را چاپ کند.
(از دو تابع استفاده کنید: تابع اول آرایه را دریافت میکند و تابع دوم محموع آرایه را چاپ می کند.)
3- خروجی کد زیر چیست؟
void function(int x, int *y){
x += 10;
*y += 10;
}
int main(){
int x = 10;
int y = 20;
function(x,&y);
cout<
4- کد زیر را در نظر بگیرید. ترکیبی از استراکچر و اشاره گر. کد زیر یکی از مفاهیم مهم در ساختمان داده هاست (لیست پیوندی). سعی کنید کد زیر را درک کنید که چه اتفاقی می افتند و در خروجی چه چیزی چاپ می شود
نکته آموزشی : وقتی شما یک متغیر از جنس استراکچر تعریف میکنید و آدرس آن را در اشاره گر ptr قرار میدهید، اگر با استفاده از ptr بخواهید به اعضای استراکچر دسترسی پیدد کنید از دات (نقطه) استفاده نکنید. از این عملگر استفاده میکنیم: <-
struct item{
int data;
item *link;
};
int main(){
item i1,i2;
i1.data = 5;
i1.link = &i2;
i2.data = 10;
i2.link = NULL;
item *ptr = &i1;
cout<data<<" "<link->data;
}
حل سوالات سی پلاس پلاس پیشرفته
حل نمونه سوالات 36 تا 50 سیپلاسپلاس
حل نمونه سوالات 1 تا 35 سیپلاسپلاس
نمونه سوالات شی گرایی
1- کلاسی به نام Date تعریف کنید که شامل پروپرتی های (صفات) day, month,year باشد:
a – متدی به نام set_date تعریف کنید که مقادیر day, month, year را مقدارهی کند
b – متدی به نام print_date بنویسید که تاریخ را در خروجی نمایش دهد (مثلا: 1401/2/11)
c – متد print_date را به شکلی بنویسید که برای روز و ماه چنانچه عدد یک رقمی بود قبل آن صفر قرار دهد (مثلا 1401/02/11 – دقت کنید که 02 نوشته شده است)
برای این کار یا میتوانید از if استفاده کنید و یا از توابع setw و setfill. در گوگل سرچ کنید و طریقه استفاده از آن را یاد بگیرید.
d- برای کلاس Date سازنده تعریف کنید
2- کلاسی به نام Rect طراحی کنید که شامل پروپرتی های width و height است:
a- متدی به نام set_rect تعریف کنید که مقادیر width و height را مقداردهی کند.
b- متدی به نام area تعریف کنید که مساحت مستطیل را برمیگرداند
c- متدی به نام is_square تعریف کنید که مشخص میکند که این مستطیل مربع است یا خیر (نوع بازگشتی bool)
d- برای کلاس Rect سازنده تعریف کنید
در تابع main از کاربر طول و عرض مستطیل را دریافت کنید و با استفاده از کلاسی که تعریف کردید مساحت مستطیل را چاپ کنی.
3- کلاسی به نام Account تعریف کنید که قرار است حساب بانکی یک فرد را مدلسازی کند و شامل پروپرتی های name و balance (موجودی) باشد: متدهای زیر را برای این کلاس تعریف کنید:
در کلاس بالا، deposit به معنای واریز به حساب و withdraw به معنی برداشت از حساب است.
4- کلاسی به نام Bank تعریف کنید که شامل اطلاعات حساب مشتریان است (کلاس Acoount سوال قبل). این اطلاعات یا با استفاده از آرایه یا وکتور و یا اشاره گر تعریف می شود. متدهای زیر را برای کلاس تعریف کنید. (روش اصولی و درست آن استفاده از وکتور است اما اگر وکتور بلد نیستید با استفاده از آرایه به شکل زیر استفاده کنید)
6- کلاسی به نام Movies تعریف کنید که شامل اطلاعات فیلمهاست (کلاس Movie سوال قبل) این اطلاعات یا با استفاده از آرایه یا وکتور و یا اشاره گر تعریف می شود. متدهای زیر را برای کلاس تعریف کنید. (روش اصولی و درست آن استفاده از وکتور است اما اگر وکتور بلد نیستید با استفاده از آرایه به شکل زیر استفاده کنید)
حل سوالات منتخب
b- مجموع عناصر قطر اصلی را چاپ کند.
#include
#include
using namespace std;
int main()
{
int const m=3, n=3; //3 satr , 3 sotoon
int i,j,A[m][n];
cout<<"matrix ra vared kon: ";
for(i=0;i>A[i][j];
//b
sum =0;
for(i=0;i
سوال 5 ماتریس قسمت a :
برنامه ای بنویسید که دو ماتریس از ورودی دریافت کند و مجموع دو ماتریس را چاپ کند
#include
#include
using namespace std;
int main()
{
int const m = 3, n = 3;
int A[m][n],B[m][n],C[m][n];
int i,j;
cout<<"Matrix A ra vared konid: ";
for(i=0;i>A[i][j];
cout<<"Matrix B ra vared konid: ";
for(i=0;i>B[i][j];
for(i=0;i
سوال 2 استراکچر( قسمت الف):
برنامهای بنویسید که اطلاعات 10 دانشجو (شامل شمارهی دانشجویی، نام دانشجو، معدل دانشجو و تاریخ تولد) را دریافت کند و
a- نام دانشجویی که بیشترین معدل کلاس را دارد چاپ کند
#include
#include
using namespace std;
struct date{
int day,month,year;
};
struct student{
int number;
string name;
float avg;
date birthday;
};
int main(){
int const n = 3;
student s[n];
//اطلاعات دانشجوبان را از ورودی میخونیم:
for(int i=0; i>s[i].name;
cout<<"Enter number: ";
cin>>s[i].number;
cout<<"Enter avg: ";
cin>>s[i].avg;
cout<<"Enter birthday(day): ";
cin>>s[i].birthday.day;
cout<<"Enter birthday(month): ";
cin>>s[i].birthday.month;
cout<<"Enter birthday(year): ";
cin>>s[i].birthday.year;
}
//a
int idx = 0;
for(int i=1;i s[idx].avg)
idx = i;
}
cout<
سوال 5 استراکچر (قسمت الف) :
برنامه ای بنویسید که از ورودی مختصات 10 نقطه دریافت کند (هر نقطه شامل x و y است)
a- و مرکز این نقاط را پیدا کند. (منظور از مرکز میانگین همه نقاط است)
#include
#include
#include
using namespace std;
struct point{
int x,y;
};
int distance(point p1, point p2){
return sqrt(pow(p1.x - p2.x , 2) + pow(p1.y - p2.y , 2));
}
int main(){
int const n = 3;
point p[n];
for(int i = 0; i>p[i].x>>p[i].y;
}
//a
float sum_x = 0;
float sum_y = 0;
for(int i=0;i
سوال 2 اشاره گر:
برنامه ای بنویسید که با استفاده از اشاره گرها یک آرایه دریافت کند و مجموع عناصر آرایه را چاپ کند.
(از دو تابع استفاده کنید: تابع اول آرایه را دریافت میکند و تابع دوم محموع آرایه را چاپ می کند.)
#include
#include
using namespace std;
int *input(int n){
int *array = new int[n];
for(int i=0;i>*(array+i);
return array;
}
int sum(int *array, int n){
int s=0;
for(int i=0;i>n;
cout<<"Adad ro vared kon: ";
int *numbers = input(n);
cout<<"majmoo: "<
سوال 1 شی گرایی (الف و ب):
1- کلاسی به نام Date تعریف کنید که شامل پروپرتی های (صفات) day, month,year باشد:
a – متدی به نام set_date تعریف کنید که مقادیر day, month, year را مقدارهی کند
b – متدی به نام print_date بنویسید که تاریخ را در خروجی نمایش دهد (مثلا: 1401/2/11)
#include
#include
using namespace std;
class Date
{
private:
int year, month, day;
public:
Date();
Date(int y, int m, int d);
void set_date(int y, int m, int d);
void print_date();
};
Date::Date()
{
year = 1330;
month = 1;
day = 1;
}
Date::Date(int y, int m, int d)
{
set_date(y,m,d);
}
void Date::set_date(int y, int m, int d){
if(y<1300){
cout<<"sal na motabar ast-";
return;
}
if(m<=0 || m>=13){
cout<<"mah na motabar ast";
return;
}
if (d <=0 || d >= 32){
cout<<"rooz na motabar ast";
return;
}
if(m >6 and d == 31){
cout<<"rooz na motabar ast";
return;
}
year = y;
month = m;
day = d;
}
void Date::print_date(){
cout<
اگه دوست داری میتونی آموزشهای من رو از سایت و یوتیوب هم دنبال کنی
نمونه سوالات برنامه نویسی مقدماتی
اگه دوست داری نمونه سوالات تابع، حلقه تکرار for و while و آرایه رو به همراه حل سوالات منتخبشون رو ببینی رو دکمه زیر کلیک کن:
ممنون که تا اینجا همراه من بودید. اگر از آموزش این پست خوشتون اومد و یا سوالی داشتید حتما در قسمت نظرات با من درمیون بذارید. اگر هم به یوتیوب و یا اینستاگرام دسترسی دارید من رو در این دو پلتفرم دنبال کنید و با لایک ها و کامنتاتون به من انرژی بدید. در کانال تلگرام هم میتونید بیشتر با من در ارتباط باشید
خواندن این مطالب را از دست ندهید:
- تمرین های سی پلاس پلاس
- آموزش ++C – آرایه دو بعدی (مثالها)
- نمونه سوالات سی پلاس پلاس به همراه حل سوالات منتخب
- نمونه سوالات الگوریتم و فلوچارت به همراه حل سوالات منتخب
- تمرین های جاوا اسکریپت
- جلسه 6 – آرایه دو بعدی در سی پلاس پلاس
- جلسه 8 – بررسی یک مثال کاربردی و بازی در c++
- جلسه 5 – آرایه در سی پلاس پلاس
- جلسه 10 – استراکچر در c++ – مثالها
- جلسه 4 – تابع در سی پلاس پلاس
- جلسه 3 – ساختار تکرار در سی پلاس پلاس
- نمونه سوالات ساختمان داده – 36 سوال
- جلسه 1- شروع برنامه نویسی سی پلاس پلاس
- جلسه 9 – استراکچر در سی پلاس پلاس
- جلسه 2 – ساختار شرط در الگوریتم و فلوچارت