Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

20.12.2013, 15:56. Просмотров 214. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2013, 15:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Комментарии к задаче на массив от 0 до 14 (C++):

Написать комментарии к задаче - Pascal
Помогите пожалуйста!!!!!!!!!!!!!!!!!!!!!!! Написать коменты к задаче........помогите пожалуйста!!!!!!!!! program AVLtreework; ...

Узнать плотность частиц в прямой задаче и скорость в обратной задаче в любой момент времени - Механика
Здравствуйте, Мне нужна помощь в решении простой задачи. Даже двух: прямой и обратной. Имеется начальное распределение...

Исправить ошибки в задаче на массив - Pascal ABC
вот задание: Дан двумерный массив a, размером (nхm). Найти минимальный элемент и его номер в каждой строке матрицы. Затем из каждого...

двумерный массив и подпрограмма к этой задаче - Pascal
Помогите пожалуйста! Решение нужно сегодня.. Нужно написать двумерный массив и подпрограмму к этой задаче,желательно еще с блок-схемой: ...

В задаче на двумерный массив сделать файловый вывод - Turbo Pascal
В задаче на двумерный массив сделать файловый вывод. Вот само решение задачи. var a:array of integer; i,j:integer; begin for...

Массив(комментарии) - Turbo Pascal
Помогите пожалуйста с программой нужно прокомментировать) Каждую строчку Заранее спасибо) program dd; var a:array of integer; ...

3
Neal
81 / 77 / 2
Регистрация: 14.06.2012
Сообщений: 261
20.12.2013, 16:15 #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;
}
2
blancoross1
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 52
20.12.2013, 16:17  [ТС] #3
0
dzrkot
zzzZZZ...
522 / 352 / 53
Регистрация: 11.09.2013
Сообщений: 2,022
20.12.2013, 16:21 #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
}
1
20.12.2013, 16:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2013, 16:21
Привет! Вот еще темы с ответами:

Перевернуть массив (нужны комментарии) - Python
Ребята. тут такое дело. у меня есть массив, его нужно перевернуть и есть код, он работает. Может кто то пожалуйста мне расписать напротив...

Отсортировать массив и дать комментарии к коду - C#
Отсортировать данный массив вещественных чисел

Составьете пожалуйста блок схему к задаче: Дан двумерный массив. Определить: а) среднее арифметическое элемент - VBA
Дан двумерный массив. Определить: а) среднее арифметическое элементов второго столбца б) Среднее арифметическое элементов k-ой строки...

Удалить из строки комментарии вида '/* . */". Игнорировать вложенные комментарии - C++
Всем привет! есть строка вида : char str=&quot;abc/*111/*def/*222*/ghi*/333*/jkl&quot;; нужно получить abc /*def ghi*/ jkl Реально ли так...


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

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

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