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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.80
Five-P
0 / 0 / 0
Регистрация: 07.01.2011
Сообщений: 10
#1

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

08.01.2011, 19:27. Просмотров 3156. Ответов 12
Метки нет (Все метки)

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

Найти сумму чисел, которые находятся между Мин. и Макс по модулю элементами массива - C++
Есть такая вот задача: Найти сумму чисел, которые находятся между Мин. и Макс по модулю элементами массива(в суммы включить эти...

С++ Циклы : Как найти среднее макс и мин . ? - C++
Вот прога она вычисляет макс и мин значение . А как найти среднее макс и мин . #include <iostream> using namespace std; int...

Мин. и макс. элементы в файле - C++
Не находит мин. и макс. элементы. Где ошибка? int max=0,min=0; while(fin.read((char*)&a,sizeof(a))) { if (a.oboroti > max...

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

Поменять местами макс и мин эл-ты массива - C++
Ребят, как поменять местами макс. и мин. элементы в массиве? Макс. и мин. элемент я нашел...вот код randomize(); int...

Ошибка в строке содержащую мин и макс элемент массива - C++
#include <iostream> #include <clocale> #include <cstdlib> #include <iomanip> int main() { using namespace std; ...

12
asics
Freelance
Эксперт С++
2854 / 1789 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
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;
   }
1
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;
}
1
asics
Freelance
Эксперт С++
2854 / 1789 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
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
1
Five-P
0 / 0 / 0
Регистрация: 07.01.2011
Сообщений: 10
08.01.2011, 19:34  [ТС] #5
большое спасибо)
0
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);
/*
 
*/
}
1
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
08.01.2011, 19:47 #7
vx5, но зачем динамический массив?
0
vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
08.01.2011, 19:54 #8
для полноты ощущений

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

Добавлено через 1 минуту
+ еще память не освободил в конце.
0
vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
08.01.2011, 20:00 #10
Цитата Сообщение от sandye51 Посмотреть сообщение
vx5, ты код то свой запускать хоть?
2 ошибки видно невооруженным глазом
нет, я прямо здесь писал поправь, если видно
0
sandye51
программист С++
687 / 592 / 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;
}
так правильней
1
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;
}
0
Snoopy
1912 / 1069 / 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;       
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2011, 20:13
Привет! Вот еще темы с ответами:

Работа со стеком (найти мин и макс элемент) - C++
есть стек struct Stack { int info; //значение элемента Stack * next; //указатель на следующий элемент...

Найти макс. элемент среди отрицательных и мин. элемент среди положительных элементов массива - C++
В массиве (введенном пользователем) найти максимальный элемент среди отрицательных массива и найти минимальный элемент среди положительных...

Ввести матрицу с внешнего файла и поменять местами макс. и мин. элементы каждого столбца матрицы - C++
Дана матрица A . Необходимо поменять местами максимальный и минимальный элемент каждого столбца.Ввести матрицу с внешнего файла(.txt) и...

Не правильно выводит произведение элементов массива кратных 3-ем, между мин. и макс - C++
Привет ребят,посмотрите почему у меня не правильно выводит произведение элементов массива кратных 3-ем,между мин. и макс. #include...


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

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

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