Другие языки программирования и технологии
Помогите написать программу на С++ которая в массиве чисел из Size элементов находит такую непрерывную
последовательность элементов, которая либо имеет максимальную сумму и является упорядоченной по возрастанию, либо имеет минимальную сумму и является упорядоченной по убыванию (должно выбираться опционально). Хотя алгоритм в виде плана по пунктам, даже не представляю, как искать такие последовательности.
Я так понял речь идёт о целых числах!
Сделать меню с опциями просто, сами догадаетесь.
Простым методом сравнения, текущего элемента массива с последующим и дальнейшим их сложением и занесением результатов в буферный массив.
В итоге сканируем буферный массивы на максимальное или минимальное число!
Если надо код программы то, это не скоро спать охота!
Сделать меню с опциями просто, сами догадаетесь.
Простым методом сравнения, текущего элемента массива с последующим и дальнейшим их сложением и занесением результатов в буферный массив.
В итоге сканируем буферный массивы на максимальное или минимальное число!
Если надо код программы то, это не скоро спать охота!
Вячеслав Воронин
Идея понятна, меню с опциями не проблема. А буферный массив, если похожих последовательностей несколько, 2 или 3, то надо несколько буферных массивов? Как это реализовать? Сделать буферный динамический 2-мерный массив, или как-то проще?
поидее должно работать )
#include <conio.h>
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
const int size=1000;
int mas[ size ];
int i,j;
int max_begin_num, max_end_numb, max_summ=0;
int min_begin_num, min_end_numb, min_summ=0;
int temp;
srand(time(NULL)); //для генератора случайных чисел
for(i=0;i < size;i++) mas[ i ] = rand()0;
min_summ=mas[ 0 ];
for(i=0;i < size;i++)
{
for(j=i,temp=0; mas[ j ] > mas[ j+1 ] && j < size; j++) temp +=mas[ j ];
if(temp > max_summ )
{
max_begin_num = i;
max_end_numb = j;
max_summ = temp;
}
for(j=i,temp=0; mas[ j ] < mas[ j+1 ] && j < size; j++) temp +=mas[ j ];
if(temp < min_summ && temp)
{
min_begin_num = i;
min_end_numb = j;
min_summ = temp;
}
}
cout << "max posledovatelnost nachinaetsia: " << max_begin_num << " zakanchivaetsia: " << max_end_numb << " ravna: " << max_summ << endl;
cout << "mix posledovatelnost nachinaetsia: " << min_begin_num << " zakanchivaetsia: " << min_end_numb << " ravna: " << min_summ << endl;
system("pause");
return 0;
}
#include <conio.h>
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
const int size=1000;
int mas[ size ];
int i,j;
int max_begin_num, max_end_numb, max_summ=0;
int min_begin_num, min_end_numb, min_summ=0;
int temp;
srand(time(NULL)); //для генератора случайных чисел
for(i=0;i < size;i++) mas[ i ] = rand()0;
min_summ=mas[ 0 ];
for(i=0;i < size;i++)
{
for(j=i,temp=0; mas[ j ] > mas[ j+1 ] && j < size; j++) temp +=mas[ j ];
if(temp > max_summ )
{
max_begin_num = i;
max_end_numb = j;
max_summ = temp;
}
for(j=i,temp=0; mas[ j ] < mas[ j+1 ] && j < size; j++) temp +=mas[ j ];
if(temp < min_summ && temp)
{
min_begin_num = i;
min_end_numb = j;
min_summ = temp;
}
}
cout << "max posledovatelnost nachinaetsia: " << max_begin_num << " zakanchivaetsia: " << max_end_numb << " ravna: " << max_summ << endl;
cout << "mix posledovatelnost nachinaetsia: " << min_begin_num << " zakanchivaetsia: " << min_end_numb << " ravna: " << min_summ << endl;
system("pause");
return 0;
}
Ceyhun Qedirov
ошибка
#include
#include
#include
#include
+1 библиотека
плюс здесь
for(i=0;i < size;i++) mas[ i ] = rand();0;
потребовал компилятор ";"
#include
#include
#include
#include
+1 библиотека
плюс здесь
for(i=0;i < size;i++) mas[ i ] = rand();0;
потребовал компилятор ";"
Похожие вопросы
- Как удалить нулевые элементы из массива C++. Помогите написать код для того чтобы из массива удалить все нулевые элементы
- Помогите написать программу на с++ Циклический сдвиг элементов массива вправо Массив 20 элементов, random
- Помогите написать программу на С. Тема Составление программ с использованием массивов
- Помогите пожалуйста написать программу в Паскале )) Написать программу для вычисления суммы в массиве из 10 элементов
- написать программу на С++, которая вычисляет колличество положительных чисел в массиве?
- Помогите пожалуйста написать программу на c++. Циклически сдвинуть массив на k элементов влево.
- помогите написать программу на языке Си: В одномерном массиве целых чисел заменить максимальное значение минимальным.
- Помогите написать программу со switch в СИ
- <<ПОМОГИТЕ! НАПИСАТЬ ПРОГРАММУ НА СИ ИЛИ ПАСКАЛЕ КОТОРАЯ ВЫВОДИТЬ СУММУ ЦИФР ЧИСЛА ОТ 1 ДО N
- Помогите написать программу перевода чисел из двоичного формата в десятичный на языке C#