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

Определить, значение, равное (min +max) / 2 - C++

Восстановить пароль Регистрация
 
blancoross1
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 45
27.12.2013, 16:12     Определить, значение, равное (min +max) / 2 #1
Определить, есть ли в массиве L[0..14] значение, равное (min +max) / 2 и вывести номер первого значения, если есть, иначе сообщить, что нет.
Выполнил задачу , а она не работает , исправьте код пожалуйста. Завтра уже сдавать нужно , а я сижу над задачей(

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
#include <iostream.h>
int main()
{
const int n = 15;
int mas[n];
 
for( int i=0; i<n; i++ ) // Ввод
  cin >> mas[i];
 
int valueFirst, min = mas[0], max = mas[0];
for( int i=0; i<n; i++ ) // Поиск минимального и максимального
  {
  if( mas[i] < max ) max = mas[i];
  if( mas[i] > min ) min = mas[i];
  }
 
bool flag = false;
for( int i=0; i<n; i++ )
  if( mas[i] == (min+max)/2 )
    {
    flag = true;
    valueFirst = mas[i];
    break;
    }
 
if( flag )
  cout << valueFirst;
else
  cout << "No";
 
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Drusha
6 / 6 / 0
Регистрация: 16.07.2013
Сообщений: 74
27.12.2013, 16:37     Определить, значение, равное (min +max) / 2 #2
2й строчкой допишите:
C++
1
using namespace std;
у меня вроде работает все нормально

Ну и немного знаки перепутаны, хотя это на результат не влияет, но должно быть так:
C++
1
2
if( mas[i] > max ) max = mas[i];
if( mas[i] < min ) min = mas[i];
Цитата Сообщение от blancoross1 Посмотреть сообщение
и вывести номер первого значения
Если под этим вы понимаете индекс массива, то 22 строка должна быть такой:
C++
1
valueFirst = i;
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
27.12.2013, 17:14     Определить, значение, равное (min +max) / 2 #3
Цитата Сообщение от blancoross1 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
bool flag = false;
for( int i=0; i<n; i++ )
* if( mas[i] == (min+max)/2 )
* * {
* * flag = true;
* * valueFirst = mas[i];
* * break;
* * }
if( flag )
* cout << valueFirst;
else
* cout << "No";
C++
1
2
3
4
5
6
7
int j = 0, x = (min + max) / 2;
while((j < n) && (mas[j] != x))
  ++j;
if(j < n)
  cout << "position: " << j + 1 << "; value: " << mas[j];
else
  cout << "not found";
blancoross1
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 45
27.12.2013, 18:25  [ТС]     Определить, значение, равное (min +max) / 2 #4
попробовал запустить, ругается на iostream.h и не запускается . Напишите пожалуйста как должна выглядеть задача.
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,776
27.12.2013, 18:50     Определить, значение, равное (min +max) / 2 #5
blancoross1, Ваш код выложите полностью, и скажите какой компилятор используете.
blancoross1
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 45
27.12.2013, 18:53  [ТС]     Определить, значение, равное (min +max) / 2 #6
код полностью в первом посте , а компилятор с сайта compileonline
почему то не работает.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
27.12.2013, 19:40     Определить, значение, равное (min +max) / 2 #7
Замените
C++
1
#include <iostream.h>
на
C++
1
2
#include <iostream>
using namespace std;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2013, 22:41     Определить, значение, равное (min +max) / 2
Еще ссылки по теме:

В каждом столбце матрицы найти min элемент, а потом среди найденных мин значений найти max значение C++
Определить значение функции max(a, max(a/2, cos b))*max(2a-b,b) C++
C++ Задача для курсовой: определить значение z=max(a, 2b)*max(2a-b,b), где max(x, y)-максимальные из чисел х и у

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

Или воспользуйтесь поиском по форуму:
blancoross1
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 45
27.12.2013, 22:41  [ТС]     Определить, значение, равное (min +max) / 2 #8
И правда заработало , когда шапку поменял)
Yandex
Объявления
27.12.2013, 22:41     Определить, значение, равное (min +max) / 2
Ответ Создать тему
Опции темы

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