View Full Version : سوال: دریافت ماکسیمم
jasmin.d
جمعه 04 اسفند 1391, 12:41 عصر
سلام میتونید کمکم کنید واسه اینکه دومین عدد ماکسیمم رو چاپ کنه البته با اندیسش این چیزیه که من نوشتم!!
#include "stdafx.h"
using namespace std;
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
int ary[100] , i;
int max , loc;
int num;
num = 0;
for( i=0 ; i<100 ; i++ )
ary[i] = num;
max = ary[1] , loc = 1;
for( i=0 ; i<100 ; i++ )
if ( ary[i] > max )
{
max = ary[i];
loc = i;
}
cout << max << loc;
return 0;
}
saied_hacker
شنبه 05 اسفند 1391, 09:20 صبح
شماره خونه ارایه ها در ++C از صفر شروع میشه پس نباید ماکس رو روی خونه 1 ارایه بزارید.
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
const int MAX = 3; // array size
int ary[MAX] , i;
int max , loc;
//read numbers
for(i = 0; i < MAX; i++)
cin >> ary[i];
// max = arr[0]
max = ary[0] , loc = 0;
//first number
for(i = 0; i < MAX; i++)
if ( ary[i] > max )
{
max = ary[i];
loc = i;
}
cout <<endl << max << loc << endl;
//ary[loc] = 0; // solution 1
// second number
max = ary[0];
for(i = 0; i < MAX; i++)
if(i != loc ) // second solution
if ( ary[i] > max )
{
max = ary[i];
loc = i;
}
cout << max << loc << endl;
return 0;
}
برای اینکه خونه بزرگتری رو که در مرحله اول به دست اوردی رو رد کنی 2 راه داری :
1 - مقدارش رو صفر کنی که باعث میشه ارایت تغییر کنه .
ary[loc] = 0; // solution 1
2- توی محله دوم برای پیدا کردن دومین عدد از روش بپری.
if(i != loc ) // second solution
if ( ary[i] > max )
{
max = ary[i];
loc = i;
}
jasmin.d
یک شنبه 06 اسفند 1391, 23:27 عصر
خیلی ممنونم از راهنماییتون...:لبخندساده:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.