نمونه سوال ++C با جواب
وبلاگ اختصاصی تیزهوش های ایران
جایی برای همه عاشقان دانستن
درباره وبلاگ


هراسان می نگرم ... چشمایم نگران ... راههای صعب العبورش مانده ... شاید اینجا آخر غمنامه ی من بود اما ... کسی بود که راه نمایانم کرد ... نگفت کیست ... اما مهربان بود سرشتش جدا از دیگران بود ... این آدینه روز باز به آن غمگاه خواهم رفت ... شاید او بیاید ... شاید این جمعه بیاید شاید پرده از چهره گشاید شاید ... به وبلاگ اختصاصی «تیزهوش های ایران» خوش آمدید. قابل توجه تمام کابران محترم که این وب از هرگونه حرکات غیر اخلاقی و سیاسی و اعمال مخالف قوانین شرعی و ملی جمهوری اسلامی ایران مبراست و متعلق به گروه خاصی نمیباشد بلکه یک وبگاه علمی-فرهنگی-هنری است و در خدمت تیزهوشهای ایرانی. همچنین مدیریت وبلاگ هیچگونه مسئولیتی در قبال مطالب دیگر نویسندگان نخواهد داشت. در صورت مشاهده تخلف آنرا گزارش دهید. ==> کاری از گروه ارتباطات کلاس 101 سمپاد آمل
آخرین مطالب
نويسندگان
2 خرداد 1389برچسب:, :: 11:14 قبل از ظهر :: نويسنده : مدیر وبلاگ

سوالات حل شده درس ++C (برنامه سازی پیشرفته دو)

صورت سوالات برنامه نویسی C++

۱- تابعی به نام sum_pos بنویسید که وظیفه آن برگرداندن حاصلجمع همه عناصر یک ماتریس پنج در شش باشد که به آن داده می شود.

2- تابعی به نام inv بنویسید که رشته ای را که بعنوان پارامتر ورودی می گیرد، بطور معکوس چاپ کرده و تعداد فضاهای خالی آن را برگرداند.

3- تابع یا توابعی به نام add بنویسید که بتواند یک/دو/ یا سه ورودی از جنس عدد صحیح داشته باشد و حاصلجمعشان را چاپ کند یا ورودی رشته ای داشته باشد و آنها را بدنبال هم زنجیرکرده و نمایش دهد (اگر رشته دوم داده نشود بجای آن نقطه بگذارد)

4- تابعی بنام swap بنویسید که مقادیر دو متغیر اعشاری را که بعنوان پارامتر ورودی گرفته است با هم عوض کند.

5- تابعی به نام sort برای مرتب سازی صعودی آرایه های عددی اعشاری بنویسید. این تابع آدرس شروع آرایه را بهمراه تعداد عناصرش می گیرد. ضمنا می توانید از تابع swap هم کمک بگیرید.

6- برنامه ای بنویسید که ابتدا تعداد عناصر یک آرایه اعشاری پویا و سپس اعداد مربوطه را گرفته و آنرا (به کوک تابع sort) مرتب کرده و نمایش دهد.

7- کلاسی بنام time برای توصیف زمان بنویسید با خصوصیات زیر:

v   متغیرهای عضوی عمومی برای بیان ساعت، دقیقه، ثانیه به نامهای h، m و s داشته باشد.

v   دارای سازنده ای باشد که درصورت عدم مقدار دهی  هر سه عضو مربوطه را صفر دهد و ضمنا قادر باشد به هر سه شکل: فقط ساعت/ فقط ساعت و دقیقه/ ساعت – دقیقه – ثانیه مقادیر را دریافت نماید.

v   دارای توابع عضوی به نامهای  showو  getبرای نمایش زمان روی مونیتور یا دریافت آن از صفحه کلید باشد.

v   تابع عضوی به نام seconds داشته باشد که نتیجه تبدیل زمان به ثانیه را برگرداند.

v   تابع عضوی به نام compare برای مقایسه کردن دو زمان داشته باشد. (اگر زمان اصلی از زمان دوم کوتاهتر بود منفی یک، اگر بلندتر بود مثبت یک و اگر مساوی بودند صفر برگرداند)

v   تابع عضوی به نام add برای جمع کردن زمان اصلی با زمان دیگر که به آن داده می شود داشته باشد که اصلاحات لازم را نیز پس از جمع لحاظ کند.

8- برنامه ای بنویسید که صد زمان(time) را گرفته و در نهایت بلندترین زمانها را به همراه حاصلجمع همه زمانهای وارد شده، نمایش دهد.

 

 

 

 

 

#include
#include

double sum_pos(double x[5][6])           //------  1  ------
{
 double s = 0;
 int i, j;
 for(i = 0; i < 5; i++)
  for(j = 0; j < 6; j++)
   if(x[i][j] > 0)
    s += x[i][j];
 return s;
}
 
int inv(char p[])                       //------  2  ------     
{
 int i, n = 0;
 for(i = strlen(p) - 1; i >= 0; i--)
 {
  cout << p[i];
  if(p[i] == ' ')
   n ++;
 }
 return n;
}

void add(int a, int b = 0, int c = 0)   //------  3  ------
{
 int d = a + b + c;
 cout << d;
}

void add(char p[], char q[] = ".")      //------  3  ------
{
 strcat(p, q);
 cout << p;
}

void swap(double& a, double& b)         //------  4  ------
{
 double t;
 t = a;
 a = b;
 b = t;
}
  

void sort(double *x, int n)          //------  5  ------
{
 int i, j;
 for(i = n - 1; i > 0; i--)
  for(j = 0; j < i; j++)
   if(x[j] > x[j + 1])
    swap(x[j], x[j + 1]);
}


void main()                           //------  6  ------
{
 double *u;
 int m, i;
 cin >> m;
 u = new double[m];
 for(i=0; i   cin >> u[i];

 sort(u, m);
 for(i=0; i < m; i++)
  cout << u[i] << "\n";
}

 

//----------------------------------  7  --------------------

#include

class time
{
public:
 int h, m, s;
 
 time(int hh = 0, int mm = 0, int ss = 0)
 {
  h = hh;
  m = mm;
  s = ss;
 }
 
 void show()
 {
  cout << h << ":" << m << ":" << s << "\n";
 }
 
 void get()
 {
  cin >> h >> m >> s;
 }
 
 int seconds()
 {
  return h * 3600 + m * 60 + s;
 }
 
 int compare(time t)
 {
  if(seconds() > t.seconds())
   return 1;
   
  if(seconds() < t.seconds())
   return -1;
   
  return 0;
 }
 
 void add(time t)
 {
  s += t.s;
  m += t.m;
  h += t.h;
  if(s >= 60)
  {
   s -= 60;
   m ++;
  }
  if(m >= 60)
  {
   m -= 60;
   h ++;
  }
 }
};


//------------------------------  8  --------------------

void main()
{
 time x[100], max, sum;
 int i;
 for(i=0; i<100; i++)
 {
  x[i].get();
  sum.add(x[i]);
  if(x[i].compare(max) == 1)
   max = x[i];
 }
 cout << "sum = ";
 sum.show();
 cout << "max = ";
 max.show();
}

 

منبع : هارد دیسک من


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:





پيوندها


ورود اعضا:


نام :
وب :
پیام :
2+2=:
(Refresh)

خبرنامه وب سایت:

برای ثبت نام در خبرنامه ایمیل خود را وارد نمایید




آمار وب سایت:
 

بازدید امروز : 42
بازدید دیروز : 79
بازدید هفته : 265
بازدید ماه : 263
بازدید کل : 200543
تعداد مطالب : 57
تعداد نظرات : 24
تعداد آنلاین : 1