Форум программистов, компьютерный форум 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++ Вычислить сумму Вычислить подробнее

Показать сообщение отдельно
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
25.10.2012, 06:27     Найти максимальное количество подряд идущих минимальных элементов из данного набора
Цитата Сообщение от Thinker Посмотреть сообщение
MrGrig, сопряжено с выходом за границы массива, поэтому иногда с аварийной ситуацией.
Если даже последним элементом окажется минимальный и i будет больше размерности массива, цикл while просто закончится и цикл for также прекратит действовать ибо i>N.
Цитата Сообщение от Beregond Посмотреть сообщение
А можно тоже самое только с вводом к-ва элементов
C++
1
2
3
4
5
cout<<"Input N ";
cin>>N;
int *a=new int[N];
for(int i=0;i<N;i++)
    cin>>a[i];
Добавлено через 48 секунд
перед тем как завершить действия, по правилам хорошего тона следует сделать еще
C++
1
delete[] a;
Добавлено через 3 минуты
Цитата Сообщение от 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;
        }
    }
}
небольшая ошибка тут присутствует, цикл не будет обрабатывать все значения ибо будет проскакивать 1 значение нужно сделать возврат
C++
1
2
3
4
5
6
7
8
9
10
11
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;
            i--;
        }
    }
}
Добавлено через 5 минут
Цитата Сообщение от MrGrig Посмотреть сообщение
C++
1
2
3
4
5
cout<<"Input N ";
cin>>N;
int *a=new int[N];
for(int i=0;i<N;i++)
    cin>>a[i];
если вы все таки работаете на Си с библеотекой <stdio.h> то лучше так
C++
1
2
3
4
5
printf("Input N ");
scanf("%d",&N);
int *a=new int[N];
for(int i=0;i<N;i++)
    scanf("%d",&a[i]);
 
Текущее время: 20:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru