2015-09-07 16 views
0
#include <iostream> 
using namespace std; 
int main() 
{ 

const int SIZE = 10; 
int values[SIZE]; 
int count;   
int largest;   
int smallest;  

cout << "Enter 10 integer values and I'll tell you the largest and the smallest number." << endl; 

for (count = 0; count < SIZE; count++) 
{ 
    cout << "\nEnter an integer value: "; 
    cin >> values[count]; 
} 

largest = smallest = values[0]; 
for (count = 1; count < SIZE; count++) 
{ 
    if (values[count] > largest) 
     largest = values[count]; 
    if (values[count] < smallest) 
     smallest = values[count]; 
} 


cout << "\nThe largest value entered is " << largest << endl; 
cout << "The smallest value entered is " << smallest << endl << endl; 


system("pause"); 
    return 0; 

} 

Здравствуйте, ребята, это моя программа здесь, это программа, чтобы узнать самое высокое и самое низкое число, которое я хочу задать несколько вопросов.найти наивысшее и наименьшее число

Для первого цикла для, они назначаются отсчет до 0 на начальном этапе, но для 2-го цикла он был назначен 1.

также часть, где: наибольшие = наименьшее значения = [0];

почему так? и каковы значения [0]?

пожалуйста, помогите

+0

* Прочитайте *, что он говорит. Читайте, что делает программа в первом цикле. Читайте, что он делает во втором цикле. Прочтите, с чем он сравнивается. Что такое значение 'наибольшее', когда оно входит в 2-й цикл? Теперь вы видите, почему он пропускает первый номер? – user3427419

+0

Представьте, было ли только одно число вместо десяти. Первое (и единственное) число было бы самым маленьким и самым большим, и с чем бы вы сравнили его? –

ответ

2
for (count = 0; count < SIZE; count++) 
{ 
    cout << "\nEnter an integer value: "; 
    cin >> values[count]; 
} 

петля SIZE (10) количества раз и получает ввод пользователя. Вставляет каждый вход в массив (values).

largest = smallest = values[0]; 

означает, что smallest и largest начать использовать первый элемент в массиве.

for (count = 1; count < SIZE; count++) 
{ 
    if (values[count] > largest) 
     largest = values[count]; 
    if (values[count] < smallest) 
     smallest = values[count]; 
} 

где мы выполняем цикл по массиву values (что мы получили от пользователя) и проверьте, чтобы увидеть, если largest не больше текущего элемента. Если это не так, мы устанавливаем largest на большее значение.

Мы делаем то же самое для smallest и проверяем, не является ли smallest недействительным, чем текущий элемент. Если это не так, мы устанавливаем smallest на меньшее значение.

+0

, поэтому я понимаю, что значения [0] - это первое число в массиве, которое является первым номером, который вводит пользователь? и поскольку у нас уже есть число, мы будем запускать цикл на меньшее время, чем раньше, следовательно, count = 1? –

+0

есть. Во втором цикле программа пытается определить самые большие и наименьшие значения. Прежде чем он запустит этот цикл, он устанавливает как «наименьший», так и «самый большой» для этого первого элемента. Затем в цикле он может сравнить каждый из них со всеми другими элементами массива (значения, введенные пользователем позже), чтобы увидеть, может ли оно найти меньшее или большее значение, чем введенное первое значение. –

+0

спасибо, человек, теперь я понял. Мне было трудно понять, какое значение [0], потому что из моего предыдущего понимания значение [0] будет массивом с 0 элементами. –

1

значения [размер] равно значению [10].
это просто означает, что значение представляет собой массив, который может содержать 10 элементов.

for (count = 0; count < SIZE; count++) 
{ 
    cout << "\nEnter an integer value: "; 
    cin >> values[count]; 
} 

Этот цикл вставляет 10 элементов внутри массива значений. Count инициализируется значением 0, потому что индекс массива начинается с нуля, а первый элемент должен храниться в самом первом индексе.

smallest=largest=value[0] 

это означает, что все, что хранится в первом индексе либо самый маленький или самый большой element.By делать, чтобы вы могли сравнить остальную часть элемента с первым элементом, чтобы найти самый маленький или самый большой, поэтому второй для начала цикла с count = 1.

if (values[count] > largest) 
     largest = values[count]; 
    if (values[count] < smallest) 
     smallest = values[count]; 

выше код буквально означает

if(values[1]>value[0]) 

потому, что значение [0] уже хранится в маленький и самый большой.

Надеюсь, что это объяснение послужит вашей цели

+0

Большое вам спасибо за ваше время, я бы просто прояснил это в последний раз. Поэтому, когда первый элемент хранится как наибольшее и небольшое число, скажем, сравним его со вторым номером, а второе число больше, поэтому второе число теперь хранится как наибольшее число и так далее и вперед , –

Смежные вопросы