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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
blancoross1
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 52
#1

Комментарии к задаче на массив от 0 до 14 - C++

20.12.2013, 15:56. Просмотров 204. Ответов 3
Метки нет (Все метки)

Здраствуйте , есть задача , примерно понятно все и как , но тонкостей не понимаю, прошу "разжевать" в понятной форме каждую строчку ) Ребят , если не сложно прямо каждую ...

Задача - Определить, есть ли в массиве L[0..14] значение, равное (min +max) / 2 и вывести номер первого значения, если есть, иначе сообщить, что нет.

#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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2013, 15:56     Комментарии к задаче на массив от 0 до 14
Посмотрите здесь:

Класс в задаче - C++
Доброго времени суток! Почему он не может принять эту программу и ругается со словами: &quot; r6010 abort has been called&quot;. У меня проблема там,...

комметарии к задаче - C++
мне помогли решить задачу, но нужно еще дописать комментарии. Кое-где я уже написала их, но как писать остальные не совсем понимаю....

Засада на 3-ей Задаче - C++
Ребята очень надо на завтра лабку сдать помогите пожалуста :help:

Написать таймер к задаче - C++
Ребят помогите написать таймер к этой задаче: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; ...

Crash в задаче с тимуса - C++
Вот вроде бы сам решил задачу с тимуса, но почему-то выдает ошибку &quot; Crash (access violation)&quot;. Помогите плз сделать код=) — Ох...

Не могу разобраться в задаче - C++
В командных олимпиадах по программированию для решения предлагается не больше 11 задач. Команда может решать предложенные задачи в любом...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Neal
81 / 77 / 2
Регистрация: 14.06.2012
Сообщений: 261
20.12.2013, 16:15     Комментарии к задаче на массив от 0 до 14 #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
33
34
35
#include <iostream.h>
int main()
{
const int n = 15; // задаем количество элементов массива
int mas[n]; // объявляем массив
 
for(int i = 0; i < n; i++) // Ввод
cin >> mas[i]; // забиваем поэлементно данные в массив
// здесь позволю себе поправить код
// причина: возможно, это будет такой элемент, что не будет удовлетворять условию ниже
// valueFirst - не нужен, ведь храним значение, а не индекс элемента
//int valueFirst, min = mas[0], max = mas[0];
int min = sizeof(int); max = -sizeof(int);
for(int i = 0; i < n; i++) // Поиск минимального и максимального
{
if(mas[i] < max) max = mas[i]; // если максимальный, запомним
if(mas[i] > min) min = mas[i]; // если минимальный, запомним
}
 
bool flag = false; // флаг присутствия элемента (max+min)/2
for(int i = 0; i < n; i++) // перебираем элементы
if(mas[i] == (min+max)/2) // проверяем элемент на условие (max+min)/2
{
// если такой есть
flag = true; // флаг присутствия меняем на "1" (Почему 1? Почитайте про тип bool. Если вопроса не возникло, не читайте это)
break; // выход из цикла
}
 
if(flag) // проверяем флаг
cout << (max+min)/2; // если "1", выводим значение
else
cout << "No"; // если не "1", выведем "No"
 
return 0;
}
blancoross1
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 52
20.12.2013, 16:17  [ТС]     Комментарии к задаче на массив от 0 до 14 #3
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2013, 16:21     Комментарии к задаче на массив от 0 до 14
Еще ссылки по теме:

Функция в задаче с процентами. - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; int percent (int x, int y) { float c; if (x&gt;0&amp;&amp;y&gt;0) { ...

Разобраться в задаче с Codeforce - C++
Вот условие(Задача 203B): И вот верное решение: #include&lt;iostream&gt; #include&lt;conio.h&gt; using namespace std; int...

Ошибка в задаче на ряды - C++
1.При некоторых заданных x и N, определяемых вводом, вычислить сумму N слагаемых заданного вида. 2.При некоторых заданных x и Е,...

Общее представление о задаче - C++
Задание такого: Программа для заполнения, поиска информации о группах Факультета: Название группы, название специальности, год набора,...


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

Или воспользуйтесь поиском по форуму:
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,996
20.12.2013, 16:21     Комментарии к задаче на массив от 0 до 14 #4
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.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];   // объявляем судя по всему переменные для хранения макс и минимальных
// значений, first - видимо для хранения 1ого вхождения
for( int i=0; i<n; i++ ) // Поиск минимального и максимального
{
if( mas[i] < max ) max = mas[i];
if( mas[i] > min ) min = mas[i];
}
 
bool flag = false; // флаг для срабатывания ( там или 0 или 1) сейчас там 0
for( int i=0; i<n; i++ )
if( mas[i] == (min+max)/2 ) // если сумма мин и макс делёная на 2 = одному из элементов массива,то:
{
flag = true;   // уст флаг о том, что условие выполнени
valueFirst = mas[i]; // сохраняем то значение массива, которое первым удовлетворило условию
break;   // выходим из цикла
}
 
if( flag ) // если флаг сработал, то выводим эл массива
cout << valueFirst;
else
cout << "No";   // а если не сработал то пишем что еноты съели весь хлеб
 
return 0;   // Happy End
}
Yandex
Объявления
20.12.2013, 16:21     Комментарии к задаче на массив от 0 до 14
Ответ Создать тему
Опции темы

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