Форум программистов, компьютерный форум CyberForum.ru

Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании) - C++

Войти
Регистрация
Восстановить пароль
 
Край
0 / 0 / 0
Регистрация: 22.01.2013
Сообщений: 3
22.01.2013, 00:56     Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании) #1
Препод говорит что тут есть ошибка, но где не говорит, прошу если кото-нибуть заметит сообщите.

Ввести одномерный статический массив из k чисел. Выполнить в соответствии с номером варианта индивидуальное задание и вывести на экран исходные данные и полученный результат. Предусмотреть использование функции пользователя.
Найти среднее арифметическое элементов массива, расположенных до максимального элемента.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <conio.h>
using namespace std;
 
double SrArif(int *, int);
 
int main()
{
       int a[20], k, i,max,imax(0); double rez;
       cout << "\t Input k (<=20) ";
       cin >> k;
       
cout <<"\n\t Vvedite elementi massiva A" << endl;
for(i = 0; i < k; i++)  
        {
            cout << "\t a[ " << i+1 << " ] = ";
            cin >> a[i];
        }
 
cout << "\nArray A:\n" << endl;
    for(i = 0; i < k; i++)
        cout<< a[i]<<"  ";      
 
max=a[0];
for(i = 1; i < k; i++)
{
    if(max<a[i]) 
        {max=a[i];imax=i;}
}
 
    if(imax==0) cout<<"Maksimalniy element stout v nachle massiva";
    else 
        rez = SrArif(a,imax); 
 
    cout << "\n\nSrednee arifmeticheskoe elementov stoyshix do maksimalnogo = " << rez << endl;
 
getch();
return 0;
}
double SrArif(int *a, int imax) 
{
    int i; double sr=0;
for(i=0; i < imax; i++)
            sr+=a[i];
sr/=imax;
return sr;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2013, 00:56     Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании)
Посмотрите здесь:

C++ Найти среднее арифметическое индексов минимального и максимального элементов массива
Найти среднее арифметическое минимального и максимального элементов массива C++
Найти среднее арифметическое модулей кратных пяти элементов массива, расположенных после максимального элемента C++
C++ Найти среднее арифметическое максимального и минимального элементов массива
Найти среднее арифметическое модулей кратных пяти элементов массива, расположенных после максимального элемента C++
Найти среднее арифметическое элементов массива, расположенных до максимального элемента C++
Найти среднее арифметическое положительных кратных трем элементов массива, расположенных до минимального элемента C++
C++ Массивы. Найти среднее арифметическое для элементов расположенных между максимальным и минимальны
Найти сумму и произведение положительных элементов массива, расположенных до максимального элемента C++
Найти среднее арифметическое элементов, расположенных в четырех углах массива C++
Найти среднее арифметическое элементов массива без учёта максимального и минимального элементов C++
C++ В заданном массиве найти среднее арифметическое элементов, расположенных до максимального

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
avg93
61 / 61 / 10
Регистрация: 11.12.2009
Сообщений: 247
Завершенные тесты: 3
22.01.2013, 01:11     Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании) #2
sr/=imax;
Все таки количество элементов это imax+1 так как индекс с нуля начинается.
Край
0 / 0 / 0
Регистрация: 22.01.2013
Сообщений: 3
22.01.2013, 01:23  [ТС]     Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании) #3
Цитата Сообщение от avg93 Посмотреть сообщение
sr/=imax;
Все таки количество элементов это imax+1 так как индекс с нуля начинается.
Проверил. Количество э-тов увеличивается на один. Не то.
LiveRos
62 / 67 / 1
Регистрация: 05.10.2012
Сообщений: 240
22.01.2013, 01:39     Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании) #4
Что-то туговато работает програмка. Максимальный элемент массива стоит только в начале.
Maksimalniy element stout v nachle massiva
и по другому никак.
Расчет среднего арифметического на верный.
Glimpse
 Аватар для Glimpse
9 / 9 / 2
Регистрация: 21.01.2013
Сообщений: 20
22.01.2013, 02:16     Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании) #5
в этой части кода:

C++
1
2
3
4
5
for(i = 1; i < k; i++) 
{ if(max<a[i]) 
{max=a[i];imax=i;} }
 
 if(imax==0) cout<<"Maksimalniy element stout v nachle massiva";
imax никогда не равен 0 будет, потому что в цикле i с единицы начинается, а потом imax = i
Край
0 / 0 / 0
Регистрация: 22.01.2013
Сообщений: 3
23.01.2013, 00:44  [ТС]     Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании) #6
Цитата Сообщение от Glimpse Посмотреть сообщение
в этой части кода:

C++
1
2
3
4
5
for(i = 1; i < k; i++) 
{ if(max<a[i]) 
{max=a[i];imax=i;} }
 
 if(imax==0) cout<<"Maksimalniy element stout v nachle massiva";
imax никогда не равен 0 будет, потому что в цикле i с единицы начинается, а потом imax = i
Да вы правы проблема именно в этой часте но оказалось что не с imax.

Добавлено через 12 часов 17 минут
Всем кто ответил на мой вопрос большое спасибо. Проблема оказалось в скобках обозначающих тело цикла.

[CPP]for(i = 1; i < k; i++)
{
if(max<a[i])
{max=a[i];imax=i;}
}

Вот так надо . С годами мы все такими будем?
Yandex
Объявления
23.01.2013, 00:44     Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании)
Ответ Создать тему
Опции темы

Текущее время: 03:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru