Вопрос не тривиален
Чем могут отличаться алгоритмы?
- По быстродействию
- Требуемой внутренней и/или внешней памяти
- Сложности программирования
И это далеко не все.
А дальше мы должны исходить из нашего случая.
Если у нас мало памяти на устройстве или к ней медленный доступ (внешняя она) - алгоритм, который меньше ест память,
Если нам надо быстро посчитать, и есть ресурсы - максимально быстрый.
Если мы хотим что-то объяснить и сделать прозрачное программирование - максимально простой.
Нет "лучшего". Есть осознанный выбор лучшего в конкретном случае.
Сегодня это мой лучший ответ на этот вопрос.
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int GradesInformatics, GradesPhysikc;
cout << "Введите количество оценок по информатике" <<endl;
cin >> GradesInformatics;
cout << "Введите количество оценок по физике" << endl;
cin>> GradesPhysikc;
int* Informatics = new int[GradesInformatics];
int* Physicks = new int[GradesPhysikc];
int Tmp = 0;
cout << "Введите оценки по информатике" <<endl;
for (int i = 0; i < GradesInformatics; ++i) {
cin >> Informatics[i];
}
cout << "Введите оценки по Физике" <<endl;
for (int i = 0; i < GradesPhysikc; ++i) {
cin >> Physicks[i];
}
for (int i = 0; i < GradesInformatics + GradesPhysikc; ++i) {
Tmp = Tmp + Informatics[i] + Physicks[i];
}
if (Tmp > 8) {
cout << "Молодец " << endl;
}
else {
cout << "Постарайся " << endl;
}
delete[] Informatics;
delete[] Physicks;
}
Объяснение:
Код на с++
Так как в задании не указано,сколько всего оценок может быть,то спрашиваем это в рантайме у пользователя. Затем получаем эти оценки при двух циклов for. Потом складываем всё,что получилось в tmp и выводим ответ
Если подобрать параметры под конкретную задачу - можно сэкономить еще немного. Сравнить алгоритмы по скорости