الگوریتم تشخیص پلاک خوان 2
13 خرداد 1400
الگوریتم الگو یابی تشخیص پلاک خوان
الگوریتم تشخیص پلاک خوان 3
17 خرداد 1400
Show all

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

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

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

 

وقت: 100 دقيقه

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

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

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

3          3          3

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

Equilateral

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

3          4          4

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

Isosceles

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

3          4          5

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

Right-Angled

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

6          7          8

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

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 نمره)

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

10

12        76        8          1          13        16        18        22        265      98

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

98        76        265      18        8          16        13        22        12        1

خواهد بود.

پاسخ :

#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 نمره)

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

100

3

9          2          1

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

9          10

2          0

1          1

خواهد بود.

پاسخ :

#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 تحت شبکه دلتا

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

تلفن تماس : 09120613870-02176490358

 

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

نشانی ایمیل شما منتشر نخواهد شد.