Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 1
Регистрация: 02.02.2012
Сообщений: 30

консольные приложения

02.02.2012, 22:50. Показов 2275. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вообщем задание не сложное но я его немогу просто понять=(
мне не надо писать код или решение помогите просто его понять:
Найти непрерывный участок из 10 элементов, сумма которых максимальная
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.02.2012, 22:50
Ответы с готовыми решениями:

Многопоточные консольные приложения
подскажите сайт\книжку где почитать (обязательно с примерами) про многопоточные приложения, и только с консольными примерами. в этой...

Вопрос про консольные приложения
Пару дней назад начал изучение c++, скачал несколько книг и начал читать. Все приложения выполняются в консолях, как сделать приложение...

Перестали запускаться консольные приложения
Сегодня открываю QtCreator, создаю консольное приложение, что-то там пишу, нажимаю F5. Build завершился, запускается отладчик - и тут...

13
Псевдослучайный
1946 / 1146 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
02.02.2012, 22:53
Найти десять таких последовательных элементов в массиве, чтобы сумма их была максимальна.
0
0 / 0 / 1
Регистрация: 02.02.2012
Сообщений: 30
02.02.2012, 22:57  [ТС]
типо чтоб при слаживание 10 чисел их сумма больше суммы других?
в масиве 100 чисел
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.02.2012, 23:03
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
#include <iostream>
#include <algorithm>
#include <iomanip>
 
int main()
{
    std::srand(std::time(nullptr));
    const std::size_t size = 20;
    int arr[size];
    std::generate(arr, arr + size, [] { return std::rand() % 21; });
    for(const auto& it: arr)
        std::cout << std::setw(4) << it;
    std::cout << std::endl;
    int sum = 0;
    for(std::size_t i = 0; (i < 10) && (i < 10); ++i)
        sum += arr[i];
    int sumMax = sum;
    std::size_t posFirst = 0, posLast = 10;
    //std::cout << "sum between 0 and 10 = " << sum << std::endl;
    for(std::size_t i = 10; i < size; ++i)
    {
        sum += arr[i];
        sum -= arr[i - 10];
        if(sum > sumMax)
        {
            sumMax = sum;
            posFirst = i - 9;
            posLast = i + 1;
        }
        //std::cout << "sum between " << i - 9 << " and " << i + 1<< " = " << sum << std::endl;
    }
    std::cout << "max sum between " << posFirst << " and " << posLast << " = " << sumMax << std::endl;
    return 0;
}
http://liveworkspace.org/code/... 77c4d58638
1
0 / 0 / 1
Регистрация: 02.02.2012
Сообщений: 30
02.02.2012, 23:10  [ТС]
Цитата Сообщение от soon Посмотреть сообщение
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
#include <iostream>
#include <algorithm>
#include <iomanip>
 
int main()
{
    std::srand(std::time(nullptr));
    const std::size_t size = 20;
    int arr[size];
    std::generate(arr, arr + size, [] { return std::rand() % 21; });
    for(const auto& it: arr)
        std::cout << std::setw(4) << it;
    std::cout << std::endl;
    int sum = 0;
    for(std::size_t i = 0; (i < 10) && (i < 10); ++i)
        sum += arr[i];
    int sumMax = sum;
    std::size_t posFirst = 0, posLast = 10;
    //std::cout << "sum between 0 and 10 = " << sum << std::endl;
    for(std::size_t i = 10; i < size; ++i)
    {
        sum += arr[i];
        sum -= arr[i - 10];
        if(sum > sumMax)
        {
            sumMax = sum;
            posFirst = i - 9;
            posLast = i + 1;
        }
        //std::cout << "sum between " << i - 9 << " and " << i + 1<< " = " << sum << std::endl;
    }
    std::cout << "max sum between " << posFirst << " and " << posLast << " = " << sumMax << std::endl;
    return 0;
}
http://liveworkspace.org/code/... 77c4d58638
спс но ксожеленью не все тут понятно=(
Апдейт : если не тяжело моежете расказать принцып ее работы?
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.02.2012, 23:20
CyBer_UA, все очень просто. Изначально считаем сумму первых 10 элементов. Заводим переменную для максимальной суммы, а так же для первого и последнего элемента. Затем идем по массиву до последнего элемента, прибавляя текущий элемент к сумме и вычитая (текущий - 10). Если данная сумма больше максимальной, то запоминаем промежуток и максимальную сумму.
Корректно отработает при количестве элементов >= 10. Если их меньше, то потребуются некоторые косметические правки.
2
0 / 0 / 1
Регистрация: 02.02.2012
Сообщений: 30
02.02.2012, 23:34  [ТС]
а если в масиве больше чисел допустим 200 то сумму первых 20 элементов?

Добавлено через 4 минуты
смотрите создал такой массив
C++
1
2
3
4
5
6
7
8
int ar[200];
int sum;
for(int i=0;i<200;i++){
ar[i]=random(100);
sum+=ar[i];
cout<<ar[i]<<" ";
 
}
сумма допустим 4792 как сумма 10 елементов может быть больше общей?
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.02.2012, 23:38
Цитата Сообщение от CyBer_UA Посмотреть сообщение
а если в масиве больше чисел допустим 200 то сумму первых 20 элементов?
Сказано 10, откуда вы 20 взяли?

Цитата Сообщение от CyBer_UA Посмотреть сообщение
умма допустим 4792 как сумма 10 елементов может быть больше общей?
сумма непрерывного участка из 10 элементов, при чем тут общая?
1
0 / 0 / 1
Регистрация: 02.02.2012
Сообщений: 30
02.02.2012, 23:48  [ТС]
П.с сори что туплю,просто тяжелавато дается это задание=(
Веб языки даются проще
буду разбиратся!

Добавлено через 1 минуту
а под максимальной суммой имеется ввиду сумма первых 10 элементов?
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.02.2012, 23:54
а под максимальной суммой имеется ввиду сумма первых 10 элементов?
Она инициализируется суммой первых элементов, но вообще под ней подразумевается максимальная сумма 10 элементов.
0
0 / 0 / 1
Регистрация: 02.02.2012
Сообщений: 30
03.02.2012, 00:06  [ТС]
апдейт :все что удалено понял что не прокатит=)

Добавлено через 3 минуты
for(std::size_t i = 0; (i < 10) && (i < 10); ++i)
еще вопрос эта строчка читается :
условие верно пока i меньше 10 и i меньши 10,а почему нельзя написать i < 10
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
03.02.2012, 10:35
soon, А почему не использовать accumulate?
Автор, можно. Это будет одно и тоже.
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
03.02.2012, 13:08
for(std::size_t i = 0; (i < 10) && (i < 10); ++i)
Вот это я отжог. По задумке там должно быть одно из условий i < size. Так, на всякий случай.

soon, А почему не использовать accumulate?
А шут его знает, почему я в циклы полез. Время позднее уже было.
0
0 / 0 / 1
Регистрация: 02.02.2012
Сообщений: 30
03.02.2012, 16:16  [ТС]
пытался сам сделать
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
#include<time.h>
#include<stdio.h>
#include<iostream.h>
#include <stdlib.h>
#include <conio.h>
#pragma argsused
int main(){
int ar[200];
int sum=0;
int sum1,position,g=0;
for(int i=0;i<200;i++){
ar[i]=random(100);
//sum+=ar[i];
cout<<ar[i]<<" ";
 
g++;
//cout<<"g=" <<g<<"\n";
if(g==9){g=0;sum1=0;}
sum1+=ar[i];
if(i==9){sum=sum1;}
if(sum1>sum ){
sum=sum1;
position=i;
 
}
 
}
cout<<"sum=" <<sum<<"\n"; cout<<"position="<<position-9<<"\n";
for(int k=(position-9);k<(position);k++){
cout<<ar[k]<<" ";
}
        return 0;
        getch();
        }
но чет не коректно пашет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.02.2012, 16:16
Помогаю со студенческими работами здесь

Перестали работать консольные приложения на с++ в visual studio2013
Учу с++, не писал с месяц ничего в visual studio2013. Перестали работать консольные приложения с++, компилируется без ошибок, запускается...

В Microsoft Visual Studio Express 2012 не запускаются консольные приложения
Отказывается запускать программы на С++. К примеру &quot;Hello World&quot;

Как лучше учиться: писать консольные приложения или оконные? И если писать оконные, то на чём лучше?
На днях я узнал про Borland c++ builder и хочу воспользоваться им, но можно и писать код, что-бы было оконное приложение, так что-же лучше?...

C++ Консольные программы
Помогите кто как может!!! Задачи пишем в теме сообщения! Одно сообщение - одна задача!

Консольные пятнашки
Добрый день,у кого нибуть есть исходник пятнашек на с++, очень срочно надо


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru