• Предмет: Информатика
  • Автор: rinatsibayru
  • Вопрос задан 2 года назад

Помогите решить на C++
В группе учится N студентов, студенты получили по четыре отметки за экзамен. Определить количество неуспевающих студентов и средний балл группы.
Моя попытка прикреплена Wordом

Приложения:

restIess: а твой код вообще не работает или просто работает, но с ошибками?
Аноним: что значит "неуспевающий студент" ?
Аноним: ну, у тебя много ошибок: во-первых, делая Rand() % 5 ты генеришь числа от 0 до 4, что априори неверно
Аноним: во-вторых какого у тебя двумерный массив даблов если оценок 4 ?
rinatsibayru: окей, я понял что вообще все плохо... Как тогда правильней составить код?
rinatsibayru: Неуспевающие, я так понимаю у кого оценки неуд?
Аноним: ну, это зависит от входных данных: как данные подаются: i-ой строке 4 оценки i-го ученика? Или может на i-ой строке n оценок учеников по i-тому предмету? Условие неполное
Аноним: про неуд: хотя бы одна двойка или все или больше половины?
Аноним: очень размытое условие
rinatsibayru: Какое условие дали =) Я думаю к неуду отнести все что ниже 3. Создать массив с N учениками и 4 предметами (я забыл как делать обычный массив)

Ответы

Ответ дал: angryfukse
3

Решение представлено во вложениях.

Язык: C++

Скриншоты (1) - (2) - код программы.

Скриншот (3) - результат работы.

Примечание №1: индексация начинается с 0.

Примечание №2: пусть по условию неуспевающим считается студент, имеющий средний балл < 3

Код программы приложен в виде файла с расширением .cpp

Приложения:

nastkess: здравствуйте, У меня будет олимпиада 8 мая в 7:00 до 10:00,вы чможете мне помочь пожалуйста?
Ответ дал: restIess
4

#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;

}

Вас заинтересует