Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.95/20: Рейтинг темы: голосов - 20, средняя оценка - 4.95
DRUNY195
3 / 3 / 3
Регистрация: 04.04.2013
Сообщений: 247
#1

7.50. Даны натуральное число n и вещественные числа x1, x2 ,., xn. Найти: максимальное из вещественных чисел;

05.04.2013, 01:09. Просмотров 3688. Ответов 21
Метки нет (Все метки)

7.50. Даны натуральное число n и вещественные числа x1, x2 ,..., xn. Найти:
максимальное из вещественных чисел;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2013, 01:09
Ответы с готовыми решениями:

Пусть даны вещественные числа a,h, натуральное число n
Пусть даны вещественные числа a,h, натуральное число n.Вычислить:...

дано натуральное число n и вещественные числа a1 a2 aN. определить среднеарифметическое этих чисел
дано натуральное число n и вещественные числа a1 a2 aN,определить...

Даны натуральное число n, действительные числа а1,…, a2n. Найти...
7) Даны натуральное число n, действительные числа а1,…, a2n. ...

Даны натуральное число n, целые числа а(1),…., a(n). Выяснить, имеются ли среди чисел а(1),… a(n) совпадающие.
Даны натуральное число n, целые числа а(1),…., a(n). Выяснить, имеются ли среди...

Даны натуральные числа n и a(1), a(2), ... a(n) .. Найти максимальное простое число
Даны натуральные числа n и a(1), a(2), ... a(n) .. Найти максимальное простое...

21
anmartex
...
1709 / 1202 / 909
Регистрация: 12.02.2013
Сообщений: 1,978
05.04.2013, 08:37 #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
#include <iostream>
 
int main()
{
   float array[] = {11.1, 23.2, 26.3, 44.4, 55.5, 13.6, 7.7, 8.8, 9.9, 10.10};
   size_t nArray = sizeof(array) / sizeof(array[0]);
 
   int max = -1;
 
   for (size_t i = 0; (i < nArray); ++i)
   {
      if ((max == -1) || (array[i] > array[max]))
      {
         max = i;
      }
   }
 
   if (max > -1)
   {
      std::cout << "element number " << (max + 1) << ", "
                << "value " << array[max] << std::endl;
   }
   else
   {
      std::cerr << "not found ..." << std::endl;
   }
 
   return 0;
}
1
Герц
525 / 342 / 12
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
05.04.2013, 08:50 #3
Код некачественный даете.
0
anmartex
05.04.2013, 09:37
  #4

Не по теме:

Цитата Сообщение от Герц Посмотреть сообщение
Код некачественный даете.
Пожалуйста, просвятите непросвящённого, что же такое - качественный код? И по каким показателям, моё убогое творение не вписывается в категорию качественного?

P.S.: прошу извинить за сарказм, но, на мой взгляд, он здесь уместен.

0
Croessmah
++Ͻ
14487 / 8268 / 1553
Регистрация: 27.09.2012
Сообщений: 20,312
Записей в блоге: 3
Завершенные тесты: 1
05.04.2013, 10:31 #5
если все значения в массиве будут меньше -1?
1
anmartex
...
1709 / 1202 / 909
Регистрация: 12.02.2013
Сообщений: 1,978
05.04.2013, 10:34 #6
Croessmah, тогда вывод:
C++
1
2
3
4
   else // if (max > -1)
   {
      std::cerr << "not found ..." << std::endl;
   }
1
Croessmah
++Ͻ
14487 / 8268 / 1553
Регистрация: 27.09.2012
Сообщений: 20,312
Записей в блоге: 3
Завершенные тесты: 1
05.04.2013, 10:36 #7
Цитата Сообщение от anmartex Посмотреть сообщение
Croessmah, тогда вывод:
а у меня есть массив из чисел
-3,2 -5,7 -1,6
максимальное число в данном случае -1,6

НО, вообще не понятно что Вы тут делаете..... точнее зачем...
0
IrineK
Заблокирован
05.04.2013, 10:41 #8
anmartex, позвольте "технический" совет )

Когда вы в поисках экстремумов (max, min) не берите начальное значение с потолка. Пусть это будет элемент вашего массива данных, скажем, первый. А потом запускайте цикл и сравнивайте.

Будучи "завязанным" на свои данные, вы избежите ошибки, на которую указал Croessmah.
0
anmartex
...
1709 / 1202 / 909
Регистрация: 12.02.2013
Сообщений: 1,978
05.04.2013, 10:42 #9
Цитата Сообщение от Croessmah Посмотреть сообщение
а у меня есть массив из чисел
-3,2 -5,7 -1,6
максимальное число в данном случае -1,6
И где тут ошибка?
0
Croessmah
05.04.2013, 10:45
  #10

Не по теме:

Цитата Сообщение от IrineK Посмотреть сообщение
не берите начальное значение с потолка.
Да это индекс, а не значение

0
anmartex
...
1709 / 1202 / 909
Регистрация: 12.02.2013
Сообщений: 1,978
05.04.2013, 10:47 #11
Не, мужики, ткните пальцем. Я вообще уже ничего не понимаю, где вы прокол увидели?
0
Croessmah
++Ͻ
14487 / 8268 / 1553
Регистрация: 27.09.2012
Сообщений: 20,312
Записей в блоге: 3
Завершенные тесты: 1
05.04.2013, 10:55 #12
Цитата Сообщение от anmartex Посмотреть сообщение
Я вообще уже ничего не понимаю, где вы прокол увидели?
Лично я вообще думал, что Вы ищите
Цитата Сообщение от DRUNY195 Посмотреть сообщение
Найти:
максимальное из вещественных чисел;
число, а не индекс, поэтому сразу же и
Цитата Сообщение от Croessmah Посмотреть сообщение
если все значения в массиве будут меньше -1?
Ну это не суть.

где Вы откопали такой алгоритм? Как в массиве может не оказаться максимального элемента?
C++
1
(max == -1) || (array[i] > array[max])//Всё-таки хорошо, что операторы ленивые есть
В общем как-то просто сделано по-китайски.

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
если все значения в массиве будут меньше -1?
Цитата Сообщение от anmartex Посмотреть сообщение
Croessmah, тогда вывод:
а это откуда? То есть Вы уже запутались в собственной программе?

0
IrineK
Заблокирован
05.04.2013, 10:56 #13
Да это индекс, а не значение
Таки да )
0
anmartex
05.04.2013, 11:03
  #14

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
а это откуда? То есть Вы уже запутались в собственной программе?
Нет, я не так сначала интерпретировал суть вопроса. В случае nArray = 0, т.е. пустом массиве.

Как я понимаю суть всех придирок: (max == -1)? :)

0
Croessmah
05.04.2013, 11:04
  #15

Не по теме:

Цитата Сообщение от anmartex Посмотреть сообщение
В случае nArray = 0, т.е. пустом массиве.
Это не пустой массив - это отсутствие массива

0
Герц
525 / 342 / 12
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
05.04.2013, 11:08 #16
По заданию размер массива натурален, то бишь не нулевой.
0
anmartex
...
1709 / 1202 / 909
Регистрация: 12.02.2013
Сообщений: 1,978
05.04.2013, 11:11 #17
Цитата Сообщение от Croessmah Посмотреть сообщение
где Вы откопали такой алгоритм? Как в массиве может не оказаться максимального элемента?
Цитата Сообщение от Герц Посмотреть сообщение
По заданию размер массива натурален, то бишь не нулевой.
Цитата Сообщение от Croessmah Посмотреть сообщение
В общем как-то просто сделано по-китайски.
Хорошо, так устроит? :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int main()
{
   float array[] = {11.1, 23.2, 26.3, 44.4, 55.5, 13.6, 7.7, 8.8, 9.9, 10.10};
   size_t nArray = sizeof(array) / sizeof(array[0]);
 
   size_t max = 0;
 
   for (size_t i = 1; i < nArray; ++i)
   {
      if (array[i] > array[max])
      {
         max = i;
      }
   }
 
   std::cout << "element number " << (max + 1) << ", "
             << "value " << array[max] << std::endl;
 
   return 0;
}
1
IrineK
Заблокирован
05.04.2013, 11:18 #18
Как я понимаю суть всех придирок: (max == -1)
Немного смущает в первой итерации array[-1]. Хотя он нигде в сравнении не участвует.
К тому же в любом случае максимум получите.

Последняя версия - лучше )
1
anmartex
...
1709 / 1202 / 909
Регистрация: 12.02.2013
Сообщений: 1,978
05.04.2013, 11:22 #19
Цитата Сообщение от IrineK Посмотреть сообщение
Последняя версия - лучше )
Спасибо

Цитата Сообщение от IrineK Посмотреть сообщение
Немного смущает в первой итерации array[-1]
Так она же не выполниться, ибо max == -1 не даст. Там же дизъюнкция стоит.
0
IrineK
Заблокирован
05.04.2013, 11:25 #20
Там же дизъюнкция стоит.
Я даже переставила условия местами - все равно не завалилась.
Но - лучше не рисковать.)
0
05.04.2013, 11:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2013, 11:25

Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел
Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно...

Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел.
Собственно само задание. 5). Даны натуральное число n. Среди чисел 1, 2, …,...

Дан массив из N вещественных чисел двойной точности. Найти максимальное отрицательное число из данного массива
Дан массив из N вещественных чисел двойной точности. Найти максимальное...


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

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

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