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

В массиве М(45) найти максимальный среди отрицательных элементов и число нулевых элементов стоящих после него - C++

Восстановить пароль Регистрация
 
DJ Дина
 Аватар для DJ Дина
4 / 0 / 0
Регистрация: 26.12.2011
Сообщений: 36
27.06.2012, 13:43     В массиве М(45) найти максимальный среди отрицательных элементов и число нулевых элементов стоящих после него #1
В массиве М(45) найти максимальный среди отрицательных элементов и число нулевых элементов стоящих после него
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2012, 13:43     В массиве М(45) найти максимальный среди отрицательных элементов и число нулевых элементов стоящих после него
Посмотрите здесь:

Найти максимальный элемент среди отрицательных элементов массива C++
Найти максимальный элемент и его номер среди отрицательных элементов. C++
В целочисленном массиве найти максимальный элемент среди четных и среди нечетных элементов C++
C++ В массиве М(45) найти максимальный среди отрицательных элементов и число нулевых элементов стоящих после него
Массивы: найти среди отрицательных элементов максимальный элемент и его индекс C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
g-h
67 / 67 / 1
Регистрация: 03.06.2012
Сообщений: 176
27.06.2012, 13:47     В массиве М(45) найти максимальный среди отрицательных элементов и число нулевых элементов стоящих после него #2
C++
1
2
3
4
5
6
int min = M[0][0];
for (int row=1; row<5; row++)
   if (M[row] < min)
     min = M[row];
 
cout << "Минимальный элемент равен " << min << endl
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
27.06.2012, 13:54     В массиве М(45) найти максимальный среди отрицательных элементов и число нулевых элементов стоящих после него #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
38
39
40
41
#include <iostream> 
#include <ctime> 
#include <cstdlib> 
using namespace std; 
int main() 
{   
    setlocale(0, "rus");
    srand((unsigned) time(0));
    const int size = 45; // размер массива
    int M[size];         // массив
    int i;  
    int min;             // минимальный элемент
    int index_min;       // индекс минимального
    int count = 0;       // счётчик 0
 
    for ( i = 0; i < size; i++) 
        M[i] = rand() % 201 - 100;  // заполняем случайными числами
 
    for ( i = 0; i < size; i++) // выводим 
        cout << M[i] << " "; 
    cout << endl; 
 
    min = M[0]; 
    index_min = 0;
 
    for ( i = 0; i < size; i++) // ищем минимальный
        if(min > M[i])  
        {
            min = M[i];  
            index_min = i; 
        }
 
    for ( i = index_min; i < size; i++) // считаем 0
        if(M[i] == 0) 
            count++; 
 
    cout << "Миримальный элемент " << min << endl; 
    cout << "Нулей после минимального элемента " << count << endl; 
 
    system("Pause");
}
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,398
27.06.2012, 14:00     В массиве М(45) найти максимальный среди отрицательных элементов и число нулевых элементов стоящих после него #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
#include <iterator>
#include <random>
#include <cstddef>
 
int main()
{
    const std::size_t N = 45;
    int arr[N];
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> uid(-20, 20);
    std::generate(arr, arr + N, [&uid, &gen] {return uid(gen); } );
    std::copy(arr, arr + N, std::ostream_iterator<int> (std::cout, " ") );
    int *pint = std::max_element(arr, arr + N, [](const int x, const int y) {return x < y && y < 0; } );
    std::cout<< std::endl<< "Max among negative: "<< *pint<< std::endl
             << "Zeros after: "<< std::count(pint, &arr[N], 0);
    return 0;
}
http://liveworkspace.org/code/e709ae...0330a21fc63806

Добавлено через 4 минуты
Максимальный среди отрицательных != минимальный
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
27.06.2012, 14:11     В массиве М(45) найти максимальный среди отрицательных элементов и число нулевых элементов стоящих после него #5
У меня там неправильно я изменил

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
45
46
47
#include <iostream> 
#include <ctime> 
#include <cstdlib> 
using namespace std; 
int main() 
{   
    setlocale(0, "rus");
    srand((unsigned) time(0));
    const int size = 45; // размер массива
    int M[size];         // массив
    int i;  
    int min;             // минимальный элемент
    int index_min;       // индекс минимального
    int count = 0;       // счётчик 0
 
    for ( i = 0; i < size; i++) 
        M[i] = rand() % 201 - 100;  // заполняем случайными числами
 
    for ( i = 0; i < size; i++) // выводим 
        cout << M[i] << " "; 
    cout << endl; 
 
    for ( i = 0; i < size; i++) // ищем первый минимальный элемент
        if( M[i] < 0)  
        {
            min = M[i]; 
            index_min = i;  
            break;
        } 
 
        for ( i = 0; i < size; i++) 
            if( M[i] > min && M[i] < 0) // ищем максимальный среди минимальных
            { 
                min = M[i]; 
                index_min = i; 
            }
    
 
    for ( i = index_min; i < size; i++) // считаем 0
        if(M[i] == 0) 
            count++; 
 
    cout << "Минимальный элемент " << min << endl; 
    cout << "Нулей после минимального элемента " << count << endl; 
 
    system("Pause");
}
g-h
67 / 67 / 1
Регистрация: 03.06.2012
Сообщений: 176
27.06.2012, 14:12     В массиве М(45) найти максимальный среди отрицательных элементов и число нулевых элементов стоящих после него #6
Спасибо конечно за репутацию, но я немного перепутал с заданием Не то посчитал
Yandex
Объявления
27.06.2012, 14:12     В массиве М(45) найти максимальный среди отрицательных элементов и число нулевых элементов стоящих после него
Ответ Создать тему
Опции темы

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