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

Найти его первый максимальный элемент

20.01.2012, 19:47. Просмотров 539. Ответов 7
Метки нет (Все метки)

Дан массив действительных чисел. Среди них есть равные. Найти его первый максимальный элемент и заменить его 0.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2012, 19:47
Ответы с готовыми решениями:

Найти первый максимальный элемент массива и заменить его нулём
Дан массив действительных чисел. Среди них есть равные. Найти 1-й максимальный элемент массива и...

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

Найти максимальный элемент и заменить им первый элемент строки в двумерном массиве
В матрице X(4,5) в каждой строке найти максимальный элемент и заменить им первый элемент строки....

Заменить первый максимальный нечетный элемент в заштрихованной области, на первый минимальный четный элемент
#include<iostream> #include <stdlib.h> #include <stdio.h> #include <time.h> #include<limits.h>...

Поменять местами первый максимальный четный элемент массива и первый минимальный нечетный элемент
Помогите начало знаю как сделать а дальше нет #include<iostream> #include <stdlib.h> #include...

7
soon
2545 / 1310 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
20.01.2012, 19:50 #2
C++
1
2
3
4
5
6
#include <algorithm>
//...
const int size = /*some number*/
double arr[size];
//...
*std::max_element(arr, arr + size) = 0.;
0
Melkor
30 / 30 / 6
Регистрация: 15.12.2011
Сообщений: 108
20.01.2012, 20:00 #3
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
size_t getFirstMaxElementIndex(const std::vector<double>& refArray)
{
   if(false == refArray.empty())
   {
     double maxValue = refArray[0];
     size_t result = 0;
     for(size_t i = 1; i < refArray.size(); ++i)
     {
        if(refArray[i] > maxValue)
        {
           maxValue = refArray[i];
           result = i;
         }
     }
 
     return result;
   }
 
   throw "array is empty";
}
 
int main()
{
   std::vector<double> array;
   //ввод данных
   try
   {
      size_t index = getFirstMaxElementIndex(array);
      array[index] = 0.0;
   }
   catch(const char* mes)
   {
      std::cout << mes;
    }
 
return 0;
}
Добавлено через 5 минут
Цитата Сообщение от soon Посмотреть сообщение
double arr[size];
низя так делать в плюсах.
0
soon
2545 / 1310 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
20.01.2012, 20:07 #4
Цитата Сообщение от Melkor Посмотреть сообщение
низя так делать в плюсах.
С каких это пор? size -то константа.
0
mansp
18 / 18 / 7
Регистрация: 07.11.2010
Сообщений: 136
20.01.2012, 20:37 #5
Цитата Сообщение от soon Посмотреть сообщение
C++
1
2
3
4
5
6
#include <algorithm>
//...
const int size = /*some number*/
double arr[size];
//...
*std::max_element(arr, arr + size) = 0.;
мб так?
C++
1
2
3
4
5
6
#include <algorithm>
//...
const int size = /*some number*/
double *arr = new double [size];
//...
*std::max_element(arr, arr + size) = 0.;
0
soon
20.01.2012, 20:39
  #6

Не по теме:

Цитата Сообщение от mansp Посмотреть сообщение
мб так?
Неа. Может вас смутило словосочетание some number?
C++
1
2
3
4
5
6
7
8
#include <iostream>
 
int main()
{
    const int size = 5;
    int arr[size];
    return 0;
}

0
Melkor
30 / 30 / 6
Регистрация: 15.12.2011
Сообщений: 108
20.01.2012, 20:50 #7
Цитата Сообщение от soon Посмотреть сообщение
С каких это пор? size -то константа.
простите недоглядел константу.
0
rangerx
1941 / 1550 / 478
Регистрация: 31.05.2009
Сообщений: 2,913
20.01.2012, 21:29 #8
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
#include <stdio.h>
 
#define N 10
 
int main()
{
    int i;
    double a[N];
    double* max = a;
 
    for(i = 0; i < N; ++i)
    {
        printf("[%d\\%d]: ", i + 1, N);
        scanf("%lf", &a[i]);
    }
 
    for(i = 1; i < N; ++i)
        if(a[i] > *max) max = a + i;
    *max = 0.0;
 
    printf("---------------");
    for(i = 0; i < N; ++i)
        printf("[%d]: %f\n", i + 1, a[i]);
 
    return 0;
}
0
20.01.2012, 21:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2012, 21:29

Выполнить кольцевой сдвиг элементов массива так чтобы его первый максимальный элемент оказался на k-том месте
Дан одномерный массив размерность n и число k. Если в исходном массиве чисел больше, чем k, то в...

В каждой его строке найти: а)максимальный элемент; б) минимальный элемент; в) координаты максимального элемента.
Дан двумерный массив. В каждой его строке найти: а)максимальный элемент; б) минимальный элемент; в)...

Найти первый отрицательный элемент массива и его индекс
В массиве из 15 чисел найти первый отрицательный элемент и его индекс в массиве.


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

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

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