Show all

نمونه سوالات مثال برنامه نویسی زبان c++4

آموزش برنامه نویسی با c++ سی پلاس پلاس

نمونه سوالات مثال تمرین امتحان برنامه نویسی زبان c++ پیشرفته 1 و 2 با حل مباحث آرایه ها ماتریس توابع بازگشتی رشته ها حلقه ها

 

وقت: ۱۰۰ دقيقه

به ۳ سؤال از ۴ سؤال پاسخ دهيد. اگر شخصي به هر ۴ سؤال پاسخ دهد برايش نمره اضافي منظور خواهد شد.

۱- برنامه­اي بنويسيد که با دريافت اندازه سه ضلع يک مثلث نوع آن مثلث را مشخص کند. اضلاع مثلث به ترتيب اندازه از بزرگ به کوچک وارد مي­شوند. (۱۰ نمره)

به عنوان مثال اگر ورودي به صورت

۳          ۳          ۳

باشد خروجي به صورت

Equilateral

خواهد بود اما اگر ورودي به صورت

۳          ۴          ۴

باشد خروجي به صورت

Isosceles

خواهد بود اما اگر ورودي به صورت

۳          ۴          ۵

باشد خروجي به صورت

Right-Angled

خواهد بود اما اگر ورودي به صورت

۶          ۷          ۸

باشد خروجي به صورت خواهد بود.

Scalene

پاسخ :

#include<iostream.h>
#include<conio.h>
int a,b,c,ret=0;
void main()
{
   clrscr();
   cin>>a>>b>>c;
   if( a==b && b==c)

      cout<<"Equilateral";
      ret=1;
   }
   if( a==b || b==c && a!=c)
   {
      cout<<"Isosceles";
      ret=1;
   }
   if( a*a==b*b+c*c)
   {
      cout<<"Right-Angled";
      ret=1;
   }
   if ( ret==0) cout<<"Scalene";
   getch();
}

2- برنامه اي بنويسيد که n را از ورودي دريافت و سپس n عدد را از ورودي دريافت کند و اين اعداد را به ترتيب از عددي که بيشترين مجموع ارقام را دارد به عددي که کمترين مجموع ارقام را دارد در خروجي نشان دهد.  (10 نمره)

به عنوان مثال اگر ورودي به صورت

۱۰

۱۲        ۷۶        ۸          ۱          ۱۳        ۱۶        ۱۸        ۲۲        ۲۶۵      ۹۸

باشد خروجي به صورت

۹۸        ۷۶        ۲۶۵      ۱۸        ۸          ۱۶        ۱۳        ۲۲        ۱۲        ۱

خواهد بود.

پاسخ :

#include<iostream.h>
#include<conio.h>
int sum(int a);
void main()
{
int n,i,a[100],s[100],max,index,j;
clrscr();
cin>>n;
for( i=0;i<n;i++)
{
    cin>>a[i];
    s[i]=sum(a[i]);
}
for(i=0;i<n;i++)
{
   max=s[0];
   for(j=0;j<n;j++)
   {
      if(s[j]>=max)
      {
         max=s[j];
         index=j;
      }
   }
   cout<<a[index]<<"\t";
   s[index]=0;
}
getch();
}
int sum(int a)
{
int b ,s=0;
while(a>0)
{
   b=a%10;
   a=a/10;
   s+=b;
}
return s;
}

 

3- يک دستگاه پول خرد کن در يک کشور مقداري پول داده شده را به اين ترتيب خرد مي­کند که ابتدا تا جايي که مي­تواند از بزرگترين سکه اي که دارد پرداخت مي­کند سپس به سراغ بزرگترين سکه­ بعدي مي­رود و تا جايي که مي­تواند از آن سکه پرداخت مي­کند و به همين ترتيب عمل مي­کند تا مبلغ پرداخت شده برابر با پول مورد نظر شود. برنامه اي بنويسيد که مبلغي که قرار است خرد شود را از ورودي دريافت کند و سپس عدد n که نشاندهنده تعداد سکه­هاي دستگاه مي­باشد از ورودي دريافت کند و سپس مبلغ سکه­هاي دستگاه را که از بزرگترين به کوچکترين وارد مي­شوند از ورودي دريافت کند و مشخص کند از هر سکه چند عدد بايد براي خرد شدن پول پرداخت شود. (10 نمره)

به عنوان مثال اگر ورودي به صورت

۱۰۰

۳

۹          ۲          ۱

باشد آنگاه خروجي به صورت

۹          ۱۰

۲          ۰

۱          ۱

خواهد بود.

پاسخ :

#include<iostream.h>
#include<conio.h>
int n,m,i,a[10],b[10];
void main()
{
clrscr();
cin>>m>>n;
for(i=0;i<n;i++)
   {
   cin>>a[i];
   b[i]=m/a[i];
   m=m%a[i];
   }
for(i=0;i<n;i++)
     cout<<a[i]<<"\t"<<b[i]<<"\n";
getch();
}

4- يک تابع بازگشتي بنويسيد که يک رشته(آرايه اي از کاراکترها) را به عنوان ورودي دريافت کند و مشخص کند آيا اين رشته Palindrome است يا خير. رشته Palindrome رشته­اي است که از هر دو سمت به يک صورت خوانده مي­شود مانند رشته abcba . (10 نمره)

راهنمايي : به جاي فرستادن طول رشته به تابع انديس اولين عنصر و انديس آخرين عنصر را به همراه خود رشته براي تابع بفرستيد.

پاسخ :

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
char par(int i,int j);
char s[100];
void main()
{
   int i,j;
   clrscr();
   gets(s);
   for(i=0;s[i];i++);
   i--;
   cout<<(par(0,i));
   getch();
}
char par(int j,int i)
{
    if (s[j]==s[i] && i>j) return par(j+1,i-1);
    if(i<=j)
      return 'Y';
    else
      return 'N';
}

 

حل نمونه سوالات مثال تمرین امتحان برنامه نویسی زبان c++ پیشرفته 1 و 2 با حل مباحث آرایه ها ماتریس توابع بازگشتی رشته ها حلقه ها .

فروش کارت RFID و ریدر RFID تحت شبکه دلتا

شرکت مهندسی اندیشه تراشه ویرا

تلفن تماس : ۰۹۱۲۰۶۱۳۸۷۰-۰۲۱۷۶۴۹۰۳۵۸

 

مدیر کل سایت
مدیر کل سایت
برای رسیدن به هدفم میلیونها کیلیومتر اسکرول کردم و این راه همچنان ادامه دارد.

دیدگاهتان را بنویسید

الگوریتم تشخیص پلاک خوان ۲
۱۳ خرداد ۱۴۰۰
الگوریتم الگو یابی تشخیص پلاک خوان
الگوریتم تشخیص پلاک خوان ۳
۱۷ خرداد ۱۴۰۰