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

Как найти мин. и макс. элементы массива? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.80
Five-P
 Аватар для Five-P
0 / 0 / 0
Регистрация: 07.01.2011
Сообщений: 10
08.01.2011, 19:27     Как найти мин. и макс. элементы массива? #1
Как найти минимальный и максимальный элементы массива и их индексы,и заменить все отрицательные элементы на 0?) в С++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2011, 19:27     Как найти мин. и макс. элементы массива?
Посмотрите здесь:

C++ С++ Циклы : Как найти среднее макс и мин . ?
Работа со стеком (найти мин и макс элемент) C++
Поменять местами макс и мин элементы с++ C++
Найти сумму чисел, которые находятся между Мин. и Макс по модулю элементами массива C++
Ввести матрицу с внешнего файла и поменять местами макс. и мин. элементы каждого столбца матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
08.01.2011, 19:29     Как найти мин. и макс. элементы массива? #2
Цитата Сообщение от Five-P Посмотреть сообщение
Как найти минимальный
C++
1
2
3
4
5
6
7
int min = arr[0], idx;
for(int i = 0; i < arr_size; ++i)
   if(arr[i] < min)
   {
       min = arr[i];
       idx = i;
   }
Добавлено через 40 секунд
Цитата Сообщение от Five-P Посмотреть сообщение
и максимальный элементы массива и их индексы,
C++
1
2
3
4
5
6
7
int max = arr[0], idx;
for(int i = 0; i < arr_size; ++i)
   if(arr[i] > max)
   {
       max = arr[i];
       idx = i;
   }
FermA
 Аватар для FermA
10 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 34
08.01.2011, 19:30     Как найти мин. и макс. элементы массива? #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int min = mas[0], max = mas[0], min_index = 0 , max_index = 0;
for ( i =0 ; i < elements_count; i++)
{
      if mas[i] > max
      {
            max = mas[i];
            max_index = i;
      }
      if mas[i] < min
      {
            min = mas[i];
            min_index = i;
      }
       if mas[i] < 0
             mas[i] = 0;
}
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
08.01.2011, 19:30     Как найти мин. и макс. элементы массива? #4
Цитата Сообщение от Five-P Посмотреть сообщение
,и заменить все отрицательные элементы на 0?)
C++
1
2
3
for(int i = 0; i < arr_size; ++i)
   if(arr[i] < 0)
      arr[i] = 0
Five-P
 Аватар для Five-P
0 / 0 / 0
Регистрация: 07.01.2011
Сообщений: 10
08.01.2011, 19:34  [ТС]     Как найти мин. и макс. элементы массива? #5
большое спасибо)
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
08.01.2011, 19:41     Как найти мин. и макс. элементы массива? #6
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
#include <algorithm>
#include <iostream>
bool test(int i)
{
 return (i > 0) ? true : false;
}
/*
 
*/
int main()
{
int n=10;
int* mass = new int[n];
/*
 
*/
int* max_el =std::max_element(mass, mass+n);
int* min_el = std::min_element(mass,mass+n);
std::cout << "Максимальный элемент: "  << *max_el 
               << " индекс:  " << max_el - mass;
               << "\nМинимальный элемент: " << *min_el
               << " индекс:  " << min_el - mass;
std::replace_if (mass, mass+n, test(), 0);
/*
 
*/
}
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
08.01.2011, 19:47     Как найти мин. и макс. элементы массива? #7
vx5, но зачем динамический массив?
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
08.01.2011, 19:54     Как найти мин. и макс. элементы массива? #8
для полноты ощущений

Добавлено через 3 минуты
так ее проще переделать под свои нужды) не известно же, надо ТСу считать число элементов или задать сначало))
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
08.01.2011, 19:59     Как найти мин. и макс. элементы массива? #9
vx5, ты код то свой запускать хоть?
2 ошибки видно невооруженным глазом

Добавлено через 1 минуту
+ еще память не освободил в конце.
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
08.01.2011, 20:00     Как найти мин. и макс. элементы массива? #10
Цитата Сообщение от sandye51 Посмотреть сообщение
vx5, ты код то свой запускать хоть?
2 ошибки видно невооруженным глазом
нет, я прямо здесь писал поправь, если видно
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
08.01.2011, 20:02     Как найти мин. и макс. элементы массива? #11
vx5,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <algorithm>
#include <iostream>
 
bool test(int i)
{
    return i > 0;
}
 
int main()
{
    int n=10;
    int mass = new int[n];
 
    int* max_el =std::max_element(mass, mass+n);
    int* min_el = std::min_element(mass,mass+n);
    std::cout << "Максимальный элемент: "  << *max_el 
        << " индекс:  " << max_el - mass
        << "\nМинимальный элемент: " << *min_el
        << " индекс:  " << min_el - mass;
    std::replace_if (mass, mass+n, test, 0);
    delete[]mass;
}
так правильней
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
08.01.2011, 20:07     Как найти мин. и макс. элементы массива? #12
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 <algorithm>
#include <iostream>
bool test(int i)
{
 return i < 0;// а еще тут ошибка была, логическая :)
}
 
int main()
{
int n=0;
std::cout<<"Введите размер массива:\n";
std::cin >> n;
int* mass = new int[n];
std::cout << "Введите массив:n";
for(int i=0;i<n;i++) std::cin >> mass[i];
int* max_el =std::max_element(mass, mass+n);
int* min_el = std::min_element(mass,mass+n);
std::cout << "Максимальный элемент: "  << *max_el 
               << " индекс:  " << max_el - mass
               << "\nМинимальный элемент: " << *min_el
               << " индекс:  " << min_el - mass;
std::replace_if (mass, mass+n, test, 0);
std::cout << "\n\n";
for(int i=0;i<n;i++) std::cout << mass[i] << " ";
delete[] mass;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2011, 20:13     Как найти мин. и макс. элементы массива?
Еще ссылки по теме:

Поменять местами макс и мин эл-ты массива C++
C++ Ошибка в строке содержащую мин и макс элемент массива
Найти макс. элемент среди отрицательных и мин. элемент среди положительных элементов массива C++

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

Или воспользуйтесь поиском по форуму:
Snoopy
1910 / 1067 / 90
Регистрация: 06.12.2008
Сообщений: 2,802
08.01.2011, 20:13     Как найти мин. и макс. элементы массива? #13
в с++ новичок, потому просто интересно...
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
38
39
40
41
42
43
44
#include <iostream.h>
using namespace std;
int main()
{
    int n, a[100], i;
    srand(time(0));
    cout << "\nÂâåäèòå êîë-ГўГ® ýëåìåГ*òîâ: ";
    cin >> n;
    cout << "\nГЊГ*Г±Г±ГЁГў: ";
    for (i=0; i<n; i++)
        a[i]=rand()%10-2;
    /*for (i=0; i<n; i++)
        {
              cout << "a[" << i << "]= ";
              cin >> a[i];
        }; */
    for (i=0; i<n; i++)
        cout << a[i] << "  ";
    cout << "\n";
    int min=a[0], max=a[0], imax=0, imin=0;
    for (i=0; i<n; i++)
        if (a[i]>max)
           {
                     max=a[i];
                     imax=i;
           }
        else
            if (a[i]<min)
               {
                         min=a[i];
                         imin=i;
               };       
    cout << "\nMin= " << min << " [" << imin << "]";      
    cout << "\nMax= " << max << " [" << imax << "]";
    cout << "\n";
    for (i=0; i<n; i++)
        {
         if (a[i]<0)
              a[i]=0;
         cout << a[i] << "  ";
        };   
    system("pause");
    return 0;       
}
Yandex
Объявления
08.01.2011, 20:13     Как найти мин. и макс. элементы массива?
Ответ Создать тему
Опции темы

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