Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Vadim_0107
1 / 1 / 1
Регистрация: 04.01.2014
Сообщений: 30
#1

Найти непрерывный участок из 10 элементов, который имеет наибольшее среднее значение элементов

12.02.2014, 18:41. Просмотров 1048. Ответов 4
Метки нет (Все метки)

Нужно найти непрерывный участок из 10 элементов, который имеет наибольшее среднее значение элементов.
Но без использования операции индексации!!
Вот написал только вывод массива, а как найти этот участок без индексации не знаю.

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
#include <iostream>
 
using namespace std;
 
#include <stdio.h>
#include <ctime>
#include <stdlib.h>
#include <malloc.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <malloc.h>
int main(void)
{
    setlocale(LC_CTYPE, "Russian_Russia.1251");
    int size;
    int *Ar;
    int *Cr, *Ir;
    int av, nn;
    srand(time(NULL));
    size=rand()%151+50;
    cout<<"size="<<size<<endl;
    Ar=(int  *)malloc(size*sizeof(int));
    cout<<"початковий масив"<<endl;
    for (Cr=Ar; Cr<Ar+size; Cr++)
    {
        *Cr=rand() %100;
        cout<<*Cr<<"\t";
    }
    putchar('\n');
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2014, 18:41
Ответы с готовыми решениями:

Найти непрерывный участок из 10 элементов, который имеет наибольшее среднее значение элементов
Найти непрерывный участок из 10 элементов, который имеет наибольшее среднее...

Найти непрерывный участок из 10 элементов, сумма которых максимальна
Найти непрерывный участок из 10 элементов, сумма которых максимальна. Если...

Найти непрерывный участок из 10 элементов, сумма которых максимальная
Задание такое: Найти непрерывный участок из 10 элементов, сумма которых...

Определить номер подматрицы, среднее арифметическое элементов которой имеет наибольшее значение.
Помогите пожалуйста решить задачу, очень нужно В квадратной матрице A(m,n)...

Найти непрерывный участок массива, в котором сумма положительных элементов максимальна
Решите подобную задачу: Создать массив целых чисел и заполнить его...

4
Looser13
0 / 0 / 1
Регистрация: 09.01.2014
Сообщений: 10
12.02.2014, 19:35 #2
#include <stdio.h>
#include <ctime>
#include <stdlib.h>
#include <malloc.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <malloc.h>

Зачем так много? stdio.h - не из СИ? iostream не хватает?
0
Vadim_0107
1 / 1 / 1
Регистрация: 04.01.2014
Сообщений: 30
12.02.2014, 23:23  [ТС] #3
Цитата Сообщение от Looser13 Посмотреть сообщение
#include <stdio.h>
#include <ctime>
#include <stdlib.h>
#include <malloc.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <malloc.h>

Зачем так много? stdio.h - не из СИ? iostream не хватает?
Просто я скопировал библиотеки из примера и еще не удалил лишние.
0
Vadim_0107
1 / 1 / 1
Регистрация: 04.01.2014
Сообщений: 30
14.02.2014, 18:16  [ТС] #4
Неужели никто не может помочь?
0
jurok_85
268 / 252 / 188
Регистрация: 21.02.2013
Сообщений: 605
Завершенные тесты: 1
14.02.2014, 20:18 #5
Лучший ответ Сообщение было отмечено Vadim_0107 как решение

Решение

ну во попотел немного, вроде работает:
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main ()
{
    int size;
    int *Ar;
 
 
    srand(time(NULL));
    size=rand()%20+10;
    cout<<"size="<<size<<endl;
    Ar=(int  *)malloc(size*sizeof(int));
    cout<<"початковий масив"<<endl;
    for (int i = 0; i != size; i++)
    {
        *(Ar + i)=rand() %100;
        cout<<*(Ar+i)<<"\t";
    }
    cout << endl;
    double max_average = 0,average;
    int sum = 0, m;
    for(int j = 0; j != size;j++)
    {
         m = j;
         while(m != j+ 10)
         {
             sum += *(Ar + m);
             m++;
         }
        average = (double)sum / 10;
        cout << average << endl;
        if(average > max_average)
        max_average = average;
 
 
        sum = 0;
        if(j+10 >= size) break;
 
    }
    cout << endl<< max_average << endl;
    for(int j = 0; j != size; j++)
    {
 
         m = j;
         while(m != j+ 10)
         {
             sum += *(Ar + m);
             m++;
         }
        average = (double)sum / 10;
 
 
        if(max_average == average)
            {
                m = j;
                while(m != j+10){
                cout << *(Ar + m) << "\t";
                m++;
                }
            }
 
        sum = 0;
        if(j+10 >= size) break;
    }
return 0;
}
1
14.02.2014, 20:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2014, 20:18

Как найти непрерывный участок элементов массива, сумма которых максимальна?
Нужно найти непрерывный участок массива из 10 элементов, сумма которых...

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

Найти среди элементов массива два, модуль разности которых имеет наибольшее значение
Сформировать целочисленный массив A , элементами которого являются случайные...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru