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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана матрица N на M Записать в другой массив строку http://www.cyberforum.ru/cpp-beginners/thread679714.html
Дана матрица N x M.Записать в другой массив строку, составленную из сумм отрицательных элементов столбцов матрицы. Выполнить без использования процедур и функций.
C++ Вывести все четырехзначные числа в записи которых нет двух одинаковых цифр Вывести все четырехзначные числа в записи которых нет двух одинаковых цифр. Например 1234;1345;1789;6789. Выполнить без функций и продцедур. Мой код не работает( #include "stdafx.h"... http://www.cyberforum.ru/cpp-beginners/thread679708.html
Определить величины всех отрезков, из которых составился путь шмеля C++
6. Пункт А расположен на расстоянии 20 км от пункта Б. Из пункта А со скоростью 2км/час вышел пешеход П1, одновременно с ним на встречу ему из пункта Б вышел пешеход П2 со скоростью 3км/час. Между...
C++ Среди элементов матрицы выше главной диагонали найти произведение чётных элементов
Среди элементов матрицы, которые находятся выше главной диагонали, найти произведение чётных элементов. Как найти элементы, которые находятся выше главной диагонали? for(int i=0;i<n;++i) for(int...
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++ Вычислить сумму Вычислить подробнее

Показать сообщение отдельно
MrGrig
177 / 160 / 2
Регистрация: 08.10.2012
Сообщений: 422
25.10.2012, 07:45
Цитата Сообщение от MrGrig Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
for(int i=0,n=0,n1=0;i<N;i++){
* * * * if(mas[i]==min){
* * * * while(mas[i++]==min)
* * * * * * n++;
* * * * if(n>n1){
* * * * * * n1=n;
* * * * * * n=0;
* * * * }
* * }
}

Цитата Сообщение от Croessmah Посмотреть сообщение
Если последний элемент минимальный, то при while(mas[i++]==min) будет производиться чтение памяти уже за пределами массива, если там вдруг окажется значение равное минимуму, то и дальше пойдет =)
Вероятность того что в следующих 4х байтах памяти после массива окажется вдруг число равное минимуму равна наверное 0.0000001% по моему вероятность того что массив запишется в битый байт намного больше...=) но даже чтобы избежать такой ошибки достаточно просто изменить условие while((mas[i++]==min)&&((i+1)<N))
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.