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

Найти максимальное количество подряд идущих минимальных элементов из данного набора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана матрица N на M Записать в другой массив строку http://www.cyberforum.ru/cpp-beginners/thread679714.html
Дана матрица N x M.Записать в другой массив строку, составленную из сумм отрицательных элементов столбцов матрицы. Выполнить без использования процедур и функций.
C++ Вывести все четырехзначные числа в записи которых нет двух одинаковых цифр Вывести все четырехзначные числа в записи которых нет двух одинаковых цифр. Например 1234;1345;1789;6789. Выполнить без функций и продцедур. Мой код не работает( #include "stdafx.h" #include<iostream> #include<math.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread679708.html
Определить величины всех отрезков, из которых составился путь шмеля C++
6. Пункт А расположен на расстоянии 20 км от пункта Б. Из пункта А со скоростью 2км/час вышел пешеход П1, одновременно с ним на встречу ему из пункта Б вышел пешеход П2 со скоростью 3км/час. Между пешеходами во время их движения летает шмель со скоростью 5км/час. Полёт шмеля подчиняется следующим правилам: шмель вылетел из пункта А одновременно со стартом пешеходов; долетев до...
C++ Среди элементов матрицы выше главной диагонали найти произведение чётных элементов
Среди элементов матрицы, которые находятся выше главной диагонали, найти произведение чётных элементов. Как найти элементы, которые находятся выше главной диагонали? for(int i=0;i<n;++i) for(int j=0;j<n;++j) if(i<j) Так? Или я что-то вообще не то написала?) Прошу помочь.
C++ Поиск минимума в массиве http://www.cyberforum.ru/cpp-beginners/thread679650.html
Подскажите,как исправить ошибку? Вот функция main: #include "PUPC.h" #include "Printer.h" #include "Monitor.h" using namespace std; int main() { Printer P1("Sony",2300,"Black & White");
C++ Вычислить сумму Вычислить подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
25.10.2012, 06:44     Найти максимальное количество подряд идущих минимальных элементов из данного набора
Цитата Сообщение от MrGrig Посмотреть сообщение
Если даже последним элементом окажется минимальный и i будет больше размерности массива, цикл while просто закончится и цикл for также прекратит действовать ибо i>N.
Зато при
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cstdlib>
using std::cout;
 
int main()
{
    const int N=5;
    int mas[N]={1,2,1,1,1};
    int min=1, n1=0;
    for(int i=0, n=0;i<N;i++){
    if(mas[i]==min){
        while(mas[i++]==min)
            n++;
        if(n>n1){
            n1=n;
            n=0;
        }
        }
    }
    cout<<n1<<"\n";
    system("pause");
    return 0;
}
ответ 2.
Исправился =)))

Добавлено через 14 минут
Цитата Сообщение от MrGrig Посмотреть сообщение
Если даже последним элементом окажется минимальный и i будет больше размерности массива, цикл while просто закончится и цикл for также прекратит действовать ибо i>N.
Если последний элемент минимальный, то при while(mas[i++]==min) будет производиться чтение памяти уже за пределами массива, если там вдруг окажется значение равное минимуму, то и дальше пойдет =)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru