2013-04-17 7 views
0

좋아, 나는 또한 별도의 10 요소 배열을 사용하여 5 % 증가 후 각 높이를 계산하고 표시해야합니다. 어떤 아이디어? 이 모든 것에 대해 유감입니다. 이것은 배열을 사용하여 처음입니다. 이 입력되는대로배열에 최소값 표시

#include <iostream> 

using namespace std; 

int main() 
{ 
    int MINheight = 0; 
    double height[10]; 
    for (int x = 0; x < 10; x = x + 1) 
    { 
     height[x] = 0.0; 
    } 

    cout << "You are asked to enter heights of 10 students. "<< endl; 
    for (int x = 0; x < 10; x = x + 1) 
    { 
     cout << "Enter height of a student: "; 
     cin >> height[x]; 
    } 

    system("pause"); 
    return 0; 
} 
+2

를 사용하여 기존의 알고리즘을. 'std :: min_element'가 바로 문 앞에 있습니다. – chris

+0

사과드립니다.하지만 std :: min_element를 사용하는 방법을 모르겠습니다. 누군가 설명 할 수 있습니까? 현재 예제를 찾고 있습니다 – user2040308

+0

처음으로 반복기에 대해 읽는다면 좋습니다. 그러한 지식과 배열이 첫 번째 요소에 대한 포인터로 붕괴 될 수 있다는 지식으로 알고리즘에 대한 임의 액세스 반복자로 이러한 포인터를 사용하거나'std :: begin' 및'std :: end'와 같은 것을 사용할 수 있습니다. 일반 배열뿐만 아니라 더 나은'std :: array'와 함께 작동합니다. – chris

답변

3
이 같은

간단하게 루프 :

MINheight = height[0]; 
for (int x = 1; x < 10; x++) 
{ 
    if (height[x] < MINheight) 
    { 
     MINheight = height[x]; 
    } 
} 
std::cout << "minimum height " << MINheight <<std::endl; 

사이드 참고 : 당신은 둘 다 잘 작동하지만 배열 인덱스는 또한 가지 이상한 그대로 x를 사용하여, 대문자로 시작하는 로컬 변수 이름을 안하지만 좋은 스타일. 다음과 같이

또한 std::min_element을 사용할 수 있습니다 :

std::cout << *std::min_element(height,height+10) << std::endl; 
           //^^using default comparison 

증가 높이와 별도의 배열에 요소를 넣어를 표시하려면 다음을 수행하십시오

float increasedHeights[10] = {0.0}; 
for (int i = 0; i < 10; ++i) 
{ 
    increasedHeights[i] = height[i] * 1.05; 
} 

//output increased heights 
for (int i = 0; i < 10; ++i) 
{ 
    std::cout << increasedHeights[i] << std::endl; 
} 
+0

좋아, 또한 별도의 10 요소 배열을 사용하여 5 % 증가 후 각 높이를 계산하고 표시해야합니다. 어떤 아이디어? 이 모든 것에 대해 유감입니다. 이것은 배열을 사용하여 처음입니다. – user2040308

+0

@ user2040308 업데이트 된 게시물보기? 증가 된 높이를 분리 된 배열에 두는 것의 의미입니까? – taocp

1

기본적으로, 당신은 너무, 최소 값을 추적 할 수 있습니다 :

cout << "You are asked to enter heights of 10 students. "<< endl; 

MINheight = numerical_limits<int>::max 
for (int x = 0; x < 10; x = x + 1) 
{ 
    cout << "Enter height of a student: "; 
    cin >> height[x]; 
    if(height[x] < MINheight)MINheight = height[x]; 
} 
cout << "Minimum value was: " << MINheight << "\n"; 

무엇이하는 일은 때 그때, 가능한 최대 값의 값을 가진 변수를 만드는 것입니다 사용자가 새 값을 입력 한 경우 저장하는 경우 현재 최소값보다 작은 지 확인하십시오. 그런 다음 끝에있는 최소값을 인쇄하십시오.

+0

좋아, 나는 또한 별도의 10 요소 배열을 사용하여 5 % 증가 후 각 높이를 계산하고 표시해야합니다. 어떤 아이디어? 이 모든 것에 대해 유감입니다. 이것은 배열을 사용하여 처음입니다. – user2040308

+0

기본적으로 새로운 double 배열을 만들려면 앞서와 같이 배열을 실행하고 높이 배열의 같은 인덱스에있는 값을 1.05 * 값으로 설정하고 계산 된 값을 출력하십시오. 충분히 간단? : P – Sinkingpoint