آموزش برنامه نویسی با c++ سی پلاس پلاس
پاسخ سوالات برنامه نویسی زبان c++1
3 خرداد 1400
آموزش برنامه نویسی با c++ سی پلاس پلاس
نمونه سوالات مثال برنامه نویسی زبان c++3
9 خرداد 1400
Show all

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

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

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

وقت: 100 دقيقه

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

1- برنامه­اي بنويسيد که دو رشته مانند S1 و S2 را از ورودي خوانده و رشته­اي را که از حذف کردن حروفي از S1 که در S2 نيستند، به دست مي­آيد در خروجي نشان دهد. (10 نمره)

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

abcccdbde

bad

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

abdbd

پاسخ :

#include<iostream.h>
#include<stdio.h>
#include<conio.h>
void shift(int a);
char s1[100],s2[100];
void main()
{
int i,j;
clrscr();
gets(s1);
gets(s2);
for (i=0;s1[i];i++)
   {
   for (j=0;s2[j];j++)
      if (s1[i]==s2[j]) break;
   if (s2[j]==0)
      {
      shift(i);
      i--;
      }
   }
cout<<s1;
getch();
}
void shift(int a)
{
int i;
for (i=a;s1[i];i++)
   s1[i]=s1[i+1];
}

 

2- برنامه­اي بنويسيد که ابتدا تعداد سطرها و ستونهاي يک ماتريس را از ورودي بگيرد و سپس عناصر ماتريس را از ورودي گرفته و بعد از آن عدد a را از ورودي بگيرد و در خروجي مشخص کند که عدد a چند درصد از عناصر آرايه را تشکيل داده است(با دو رقم اعشار). اين ماتريس حداکثر 50 سطر و 50 ستون دارد. (10 نمره)

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

 

5          4

3          -1           2           0
-1         -1          -1           2
3           5           6           -1
-6          7           8           -1
-1          4          -1           10

 

-1

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

40.00

پاسخ:

#include<iostream.h>
#include<stdio.h>
#include<conio.h>
void main()
{
int i,j,m,n,ary[50][50],a,s=0;
float ret;
clrscr();
cin>>m>>n;
for (i=0;i<m;i++)
   for (j=0;j<n;j++)
      cin>>ary[i][j];
cin>>a;
for (i=0;i<m;i++)
   for (j=0;j<n;j++)
      if (ary[i][j]==a) s++;
ret =int((float)s/(float)(m*n)*10000);
cout<<ret/100;
getch();
}

 

3- برنامه ­اي بنويسيد که ابتدا عددي مانند n را که نشان دهنده تعداد شهرهايي است که قرار است مشخصات آنها از ورودي وارد شود، مشخصات هر شهر شامل نام شهر، نام کشوري که آن شهر در آنجا واقع شده است، جمعيت شهر و مساحت شهر مي­باشد. سپس برنامه بايد عددي مانند k را از ورودي دريافت کند و نام تمامي شهرهايي که مساحت آنها از k بيشتر است را در خروجي نشان دهد. سپس عددي مانند t را از ورودي دريافت کند و نام تمامي شهرهايي که جمعيت آنها از t بيشتر است را به همراه نام کشوري که شهر در آنجا واقع شده است در خروجي نشان دهد. (10 نمره)

پاسخ:

#include<iostream.h>
#include<stdio.h>
#include<conio.h>
void main()
{
char city_name[20][20],country_name[20][20];
long int jamiat[20],masahat[20],n,k,t;
int i;
clrscr();
cin>>n;
for (i=0;i<n;i++)
   {
   gets(city_name[i]);
   gets(country_name[i]);
   cin>>jamiat[i];
   cin>>masahat[i];
   }
cin>>k;
for (i=0;i<n;i++)
   if (masahat[i]>k) cout<<city_name[i]<<"\t";
cin>>t;
for (i=0;i<n;i++)
   if (jamiat[i]>t)
      {
      cout<<city_name[i]<<" : ";
      cout<<country_name[i]<<endl;
      }
getch();
}

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

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

abbbbuuukker

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

a4b3ukker

 

پاسخ:

#include<iostream.h>
#include<stdio.h>
#include<conio.h>
int sum_rep(int a,char ch);
char str[100],s1[100];
void main()
{
int i,j,k=0,t;
clrscr();
gets(str);
for (i=0;str[i];i++,k++)
   {
      if (str[i]==str[i+1] && str[i+1]==str[i+2])
      {
      t=sum_rep(i,str[i]);
      s1[k]=t+48;//Change Number To Char
      k++;
      s1[k]=str[i];
      i=t+i-1;
      }
      else
      s1[k]=str[i];
   }
cout<<s1;
getch();
}
int sum_rep(int a,char ch)
{
int s=0,i;
for (i=a;str[i]==ch;i++,s++);
return s;
}

 

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

فروش ریدر RFID تحت شبکه و نرم افزار پلاک خوان خودرو دلتا

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

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

 

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

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