Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2010, 07:52   #1
Valera24
Пользователь
 
Регистрация: 04.06.2009
Сообщений: 10
По умолчанию Задача по массивам С++

Здравствуйте! Прошу помощи с задачами по информатике, а точнее по программированию в Microsoft Visual Studio 2010 С++
1) В массиве хранятся оценки студента по различным предметам. Определить: а) ко-личество пятерок и четверок; б) средний балл.

Так как познания в программировании у меня почти нулевые, всё, что я понял и смог на данный момент написать, это начало программы:
Код:
// Laba2.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"// Включаемый файл для стандартных системных включаемых файлов
#include "stdio.h" // Библиотека содержит функции printf, scanf
#include "conio.h" // Библиотека содержит функцию getch
#include "math.h"  // Библиотека математических функций
#include "locale.h"// Библиотека локализации
#include "stdlib.h" // Библиотека содержит функцию malloc()&calloc()

int _tmain(int argc, _TCHAR* argv[])// Обьявление главной функции
{
****setlocale(LC_ALL,"Russian"); // Устанавливаем язык консоли русский
printf("В массиве хранятся оценки студента по различным предметам. Определить: а) ко-личество пятерок и четверок; б) средний балл.\nВыполнил....\n"); // Выводим на экран задание и кто это задание выполнил.
int massiv[12];// Создаем массив из 12 элементов
 for(int i=0;i<12;i++){
  printf("Введите оценки ученика  в %d массив\n",i); 
  scanf("%d",&massiv[i]); 
 }
Дальше начинается сама проблема: Я не могу понять, как и что написать, что бы он посчитал четверки и пятерки, а потом ещё и средний бал.

P.S Не смог найти ни чего подобного здесь, потому и создал тему, а времени осталось мало до сдачи задач...
Valera24 вне форума Ответить с цитированием
Старый 21.12.2010, 08:11   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Доброе утро!
количество четвёрок и пятёрок
Код:
int count = 0;
for(int i=0;i<12;i++)
{
    if ((massiv[i] == 4) || (massiv[i] == 5)) count++; 
}
средний бал
Код:
int sr = 0;
for(int i=0;i<12;i++)
{
    sr += massiv[i]; 
}
sr = sr/12;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 21.12.2010, 08:18   #3
Valera24
Пользователь
 
Регистрация: 04.06.2009
Сообщений: 10
По умолчанию

Hacker19_90
Спасибо за код. Если несложно, поясните пожалуйста некоторые моменты. Так как я не просто хочу здать задачи, Я хочу разобраться нормально, что бы потом всё нормально получалось.
Так вот, вознокло несколько вопросов:
for(int i=0;i<12;i++){
Это, как я понимаю, определяем массив. Получается его нужно определять каждый раз для разных задач. В моем случае количество четвёрок и пятёрок и средний бал?
Valera24 вне форума Ответить с цитированием
Старый 21.12.2010, 08:23   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
for(int i=0;i<12;i++){
Это, как я понимаю, определяем массив.
Нет это мы цикл задаём, что бы по массиву пробежаться! для проверки значений!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 22.12.2010, 18:26   #5
Valera24
Пользователь
 
Регистрация: 04.06.2009
Сообщений: 10
По умолчанию

Я к вам с новой проблемкой:
Код:
// DVA.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"// Включаемый файл для стандартных системных включаемых файлов
#include "stdio.h" // Библиотека содержит функции printf, scanf
#include "conio.h" // Библиотека содержит функцию getch
#include "math.h"  // Библиотека математических функций
#include "locale.h"// Библиотека локализации
#include "stdlib.h" // Библиотека содержит функцию malloc()&calloc()


int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(LC_ALL,"Russian"); // Устанавливаем язык консоли русский
a:
	printf("В массиве хранятся оценки студента по различным предметам. Определить: а) ко-личество пятерок и четверок; б) средний балл.\nВыполнил....\n"); // Выводим на экран задание и кто это задание выполнил.
	int massiv[12];// Создаем массив из 12 элементов
	int i = 0;
	for(int i=0;i<12;i++)
b:
		printf("Введите оценки ученика  в %d массив\n",i);
	scanf("%d",&massiv[i]);
c:
	printf("Кол-во четверок и пятерок %d\n",i);
	int count = 0;
	for(int i=0;i<12;i++)
		{
			if ((massiv[i] == 4) || (massiv[i] == 5)) count++;
			}
d:
	printf("Средний бал %d\n",i);
	int sr = 0;
	for(int i=0;i<12;i++)
		{
			sr += massiv[i];
			}
	sr = sr/12;
e:
	rintf("Меню:\n");
	printf("Введите <0> Для начала программы\n");
	printf("Введите <1> Чтобы ввести Кол-во элементов заного\n");
	printf("Введите <2> Чтобы перейти на обработку массива\n");
	printf("Введите <3> Для вывода массива на экран\n");
	printf("Введите <4> Для Выхода из программы\n");
	scanf("%d",&menu);
	if(menu > 4){
		printf("Ошибка ввода, попробуйте еще раз");
		goto e;
	}
	else if(menu == 0)
		goto a;
	else if(menu == 1)
		goto b;
	else if(menu == 2)
		goto c;
	else if(menu == 3)
		goto d;
	else if(menu == 4)
		getch();
	return 0;
}
Написал этот код, выполнил задание по созданию меню, но визникли некоторые проблемы:
1) Программа не показывает само меню и ответ всегда показывает 0 + программа сразу просит ввести все массивы, а не по отдельности (или это так и должно быть?)
Вот скриншот для наглядности.

Подскажите пожалуйста, что у меня не правильно...
Valera24 вне форума Ответить с цитированием
Старый 22.12.2010, 20:50   #6
Valera24
Пользователь
 
Регистрация: 04.06.2009
Сообщений: 10
По умолчанию

Правильно ли я вообще меню написал?
Valera24 вне форума Ответить с цитированием
Старый 22.12.2010, 20:59   #7
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

Конечно нет, боже упаси и сохрани, никогда не используй метки и goto...

А лучше чем слушать нас, прочитать первые 50-100 страниц книги по С\С++ и таким образом сделать шаг к тому, чтобы быть специалистом, а не нахватавшимся оттуда-отсюда студентом. А уже после этого, как изучишь синтаксис, правила написания кода, можешь завать нормальные и интересные вопросы и тебе с удовольствием ответят!
Если я помог вам - порадуйте меня, нажмите на весы слева
RoS вне форума Ответить с цитированием
Старый 22.12.2010, 21:02   #8
Valera24
Пользователь
 
Регистрация: 04.06.2009
Сообщений: 10
По умолчанию

RoS
Дело в том, что программму здать нужно в субботу, а прочитать и понять, нужно время, которого пока нет. Но изучать нормально С++ я собираюсь, так что, если вы посоветуете нормальную кнжку по С++ буду благадарен и обязательно прочту.
Valera24 вне форума Ответить с цитированием
Старый 22.12.2010, 21:23   #9
RoS
Форумчанин
 
Аватар для RoS
 
Регистрация: 13.12.2009
Сообщений: 272
По умолчанию

Объектно-ориентированное программирование в C++ (Р. Лафоре)

Мне помогла больше всяких там страусов и тд (хотя их авторитет огромен), тут все просто и понятно описано!
Если я помог вам - порадуйте меня, нажмите на весы слева
RoS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача по массивам мар5094 Паскаль, Turbo Pascal, PascalABC.NET 2 18.12.2010 16:04
задача по массивам! Анна22 Паскаль, Turbo Pascal, PascalABC.NET 1 07.12.2010 00:12
Задача по массивам) Flo Помощь студентам 1 30.11.2010 22:09
задача по массивам) Dianko Помощь студентам 3 18.12.2009 22:25