Каким образом данные попадают в столь большие массивы(не вводятся же они с клавиатуры!) мы разберемся позже. Сейчас же, создадим массив размером в десять элементов и собственноручно его заполним.
int main()
{
float studentsProgress[10] =
{
3.0f, 4.2f, 3.4f, 3.9f, 4.75f,
4.2f, 4.8f, 3.1f, 4.4f, 3.8f
};
return 0;
}
Осталось найти в нем максимальное число. Да, понимаю, что глазами Вы его уже и так нашли и это "4.8f", но как обучить программу делать это за Вас? Объявим переменную "maxProgress", в которой будем хранить балл лучшего студента, и предположим, что успеваемость нулевого студента - лучшая.
int main()
{
float studentsProgress[10] =
{
3.0f, 4.2f, 3.4f, 3.9f, 4.75f,
4.2f, 4.8f, 3.1f, 4.4f, 3.8f
};
float maxProgress = studentsProgress[0];
return 0;
}
Теперь проверим, а может все-таки успеваемость первого студента выше успеваемости нулевого? Если да, то надо ее записать в переменную "maxProgress".
int main()
{
float studentsProgress[10] =
{
3.0f, 4.2f, 3.4f, 3.9f, 4.75f,
4.2f, 4.8f, 3.1f, 4.4f, 3.8f
};
float maxProgress = studentsProgress[0];
if( studentsProgress[1] > maxProgress )
{
maxProgress = studentsProgress[1];
}
return 0;
}
Несложно догадаться, что сделав такую проверку для каждого студента, maxProgress когда-то примет значение "4.8f" и больше не будет меняться, так как в массиве не найдется значения больше "4.8f".
#include <iostream>
int main()
{
float studentsProgress[10] =
{
3.0f, 4.2f, 3.4f, 3.9f, 4.75f,
4.2f, 4.8f, 3.1f, 4.4f, 3.8f
};
float maxProgress = studentsProgress[0];
if( studentsProgress[1] > maxProgress )
{
maxProgress = studentsProgress[1];
}
// ...
if( studentsProgress[9] > maxProgress )
{
maxProgress = studentsProgress[9];
}
std::cout << "Max progress is: ";
std::cout << maxProgress << std::endl;
system("pause");
return 0;
}
Но еще проще догадаться, что никто не пишет в коде тысячи условий сравнения. Эта проблема решается циклами.
int main()
{
float studentsProgress[10] =
{
3.0f, 4.2f, 3.4f, 3.9f, 4.75f,
4.2f, 4.8f, 3.1f, 4.4f, 3.8f
};
return 0;
}
Осталось найти в нем максимальное число. Да, понимаю, что глазами Вы его уже и так нашли и это "4.8f", но как обучить программу делать это за Вас? Объявим переменную "maxProgress", в которой будем хранить балл лучшего студента, и предположим, что успеваемость нулевого студента - лучшая.
int main()
{
float studentsProgress[10] =
{
3.0f, 4.2f, 3.4f, 3.9f, 4.75f,
4.2f, 4.8f, 3.1f, 4.4f, 3.8f
};
float maxProgress = studentsProgress[0];
return 0;
}
Теперь проверим, а может все-таки успеваемость первого студента выше успеваемости нулевого? Если да, то надо ее записать в переменную "maxProgress".
int main()
{
float studentsProgress[10] =
{
3.0f, 4.2f, 3.4f, 3.9f, 4.75f,
4.2f, 4.8f, 3.1f, 4.4f, 3.8f
};
float maxProgress = studentsProgress[0];
if( studentsProgress[1] > maxProgress )
{
maxProgress = studentsProgress[1];
}
return 0;
}
Несложно догадаться, что сделав такую проверку для каждого студента, maxProgress когда-то примет значение "4.8f" и больше не будет меняться, так как в массиве не найдется значения больше "4.8f".
#include <iostream>
int main()
{
float studentsProgress[10] =
{
3.0f, 4.2f, 3.4f, 3.9f, 4.75f,
4.2f, 4.8f, 3.1f, 4.4f, 3.8f
};
float maxProgress = studentsProgress[0];
if( studentsProgress[1] > maxProgress )
{
maxProgress = studentsProgress[1];
}
// ...
if( studentsProgress[9] > maxProgress )
{
maxProgress = studentsProgress[9];
}
std::cout << "Max progress is: ";
std::cout << maxProgress << std::endl;
system("pause");
return 0;
}
Но еще проще догадаться, что никто не пишет в коде тысячи условий сравнения. Эта проблема решается циклами.
Комментариев нет:
Отправить комментарий