Помогите решить на C++
В группе учится N студентов, студенты получили по четыре отметки за экзамен. Определить количество неуспевающих студентов и средний балл группы.
Моя попытка прикреплена Wordом
Ответы
Решение представлено во вложениях.
Язык: C++
Скриншоты (1) - (2) - код программы.
Скриншот (3) - результат работы.
Примечание №1: индексация начинается с 0.
Примечание №2: пусть по условию неуспевающим считается студент, имеющий средний балл < 3
Код программы приложен в виде файла с расширением .cpp
#include <iostream>
using namespace std;
signed main() {
setlocale(LC_ALL, "Rus");
int x, y = 4, counter = 0;
float sumPoint = 0;
cout << "Введите кол-во студентов : ";
cin >> x;
//выделение памяти
int** mas = new int* [x];
for (int i = 0; i < x; i++) {
mas[i] = new int[y];
}
//ввод элементов
for (int i = 0; i < x; i++) {
cout << "Оценки студента №" << i + 1 << ": ";
for (int j = 0; j < y; j++) {
cin >> mas[i][j];
sumPoint += mas[i][j];
}
}
//вывод оценок на экран
for (int i = 0; i < x; i++) {
cout << "Оценки студента №" << i+1 << ": ";
for (int j = 0; j < y; j++) {
cout << mas[i][j] << " ";
}
cout << endl;
}
//для наглядности вынес в отдельный цикл подсчет количества неуспевающих
int i = 0, j = 0;
while (i < x) {
while (j < 4) {
if (mas[i][j] == 2) {
counter++;
break;
}
else j++;
}
j = 0;
i++;
}
/*
Будем считать, что неуспевающий студент - студент, который имеет хоть одну двойку
*/
cout << "Количество неуспевающих студентов: " << counter << endl;
cout << "Сумма баллов: " << sumPoint << endl;
cout << "Средний балл группы: " << sumPoint / (x * 4);
delete[] mas;
return 0;
}