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

Задача на поиск максимума - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамический линейный список с одной связью http://www.cyberforum.ru/cpp-beginners/thread867735.html
Здравствуйте. Нужно с бинарного файла прочесть данные и записать их в динамический линейный список с одной связью. Компилятор - VS 2010. Записываю так: FILE *f; f=fopen("file.bin","r+b"); for (int i=0; i< 12; i++){ fwrite(&i,sizeof(i),1,f);} fclose(f);
C++ Блочный алгоритм шифрования Ребят помогите с прогой. Реализовать нужно в билдере. Или хотя бы на код просто натолкните. Задание: Реализовать систему симметричного блочного шифрования, позволяющую шифровать и дешифровать файл на диске с использованием алгоритма IDEA в режиме PCBC. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread867730.html
C++ как создать текстовый файл и написать там данные?
как создать текстовый файл и написать там данные?
Список четырехзначных чисел без повторения цифр C++
#include <stdio.h> bool func(int,int,int,int); int main() { int mas; int n = 0; for(int i = 1; i < 10; i++) for(int j = 0; j < 10; j++) for(int k = 0; k < 10; k++)
C++ Линейный массив содержит целые числа: определить диапазон, в котором находятся элементы массива http://www.cyberforum.ru/cpp-beginners/thread867694.html
линейный массив содержит целые числа. определить диапазон, в котором находятся элементы массива.
C++ Задание массива с ограниченными значениями и интервалом Линейный массив содержит значения функции y=x-2 на интервале от 0 до 2 с шагом 0,1. Определить, сколько раз функция сменила знак? Подскажите, пожалуйста, как это можно реализовать? Перепробовал разные варианты, но ни один не работает так, как того требует условие подробнее

Показать сообщение отдельно
BestIn
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 10

Задача на поиск максимума - C++

16.05.2013, 23:48. Просмотров 628. Ответов 5
Метки (Все метки)

Задача с (acm.timus.ru)
Вот условия
Рассмотрим последовательность чисел ai, i = 0, 1, 2, …, удовлетворяющих следующим условиям:
a0 = 0
a1 = 1
a2i = ai
a2i + 1 = ai + ai + 1
для каждого i = 1, 2, 3, … .
Напишите программу, которая для заданного значения n находит максимальное среди чисел a0, a1, …, an.
Исходные данные
Входные данные состоят из нескольких тестов (не более 10). Каждый тест представляет собой строку, в которой записано целое число n (1 ≤ n ≤ 99 999). В последней строке входных данных записано число 0.

Попробывал создать что-то,получилось вот так(спасибо книгам и интернету за это)

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
35
36
#include "StdAfx.h"
#include <algorithm>
#include <iostream>
#include <cmath>
const int IND_MAX = 99999;
int  get_max_in_seq(int  n)
{
    int val[IND_MAX + 1] = {0, 1};
    for(int i = 2; i <= n; ++i)
    {
        val[i] = i % 2 == 0 ? val[i / 2] : val[i / 2] + val[i / 2 + 1];
    }
 
    return  *std::max_element(val, val + n + 1);
}
int main()
{
    std::locale::global(std::locale(""));
    for(;; )
    {
        int n = 0;
        std::cout << "1 <= N <= "
                  << IND_MAX 
                  << ": ";
        std::cin >> n;        
 
        if(n < 1 || IND_MAX < n)  break;
        
        std::cout 
                  << std::endl
                  << get_max_in_seq(n)
                  << std::endl
                  << std::endl
                  << std::endl;    
    }
}
У меня компилируется в визуал 2010 и в 2012,но сайт(тимус)отказывается принимать,и выдет ошибку компилирования.
Что не так,почему сайт отказывается принимать?

Добавлено через 20 минут
Так же прошу помочь разобраться с этими задачами,а то я в тупике.Задача оттуда же.
Король Артур
Вы не поверите, но однажды в древности произошла такая история. На заседании круглого стола король Артур встал и сказал: «Пусть каждый рыцарь, сидящий от меня справа не более чем на b мест и не менее чем на a мест, получит по c золотых монет из моего кармана». Если занумеровать всех рыцарей числами от 1 до N против часовой стрелки, так что, рыцарь, сидящий справа от Артура, получит номер 1, а рыцарь, сидящий слева от Артура, — номер N, то получается, что он раздал по c золотых монет рыцарям с номерами a, a + 1, …, b.
Затем благородные рыцари, посмотрев на щедрый поступок Артура, начали вставать по очереди против часовой стрелки и говорить свою тройку чисел ai, bi, ci (1 ≤ i ≤ N). После каждого такого высказывания рыцари, сидящие справа от короля Артура не более чем на bi мест и не менее чем на ai мест, получали по ci золотых монет от короля.
Поскольку каждый рыцарь был очень благороден, то либо ai > i, либо bi < i. Ваша задача — помочь рыцарям выяснить, сколько монет каждый из них получил в дар.
Исходные данные
В первой строке записано количество рыцарей короля Артура N (2 ≤ N ≤ 100000). В следующей строке записаны целые числа a, b и c, названные Артуром (1 ≤ a ≤ b ≤ N; 1 ≤ c ≤ 10000). В следующих N строках перечислены тройки целых чисел ai, bi, ci, названные рыцарями (1 ≤ ai ≤ bi ≤ N; 1 ≤ ci ≤ 10000).
Результат
Выведите N чисел через пробел. i-е число должно равняться количеству монет, которое получил в дар i-й рыцарь.


шоколадка
На обёртке шоколадки фирма-производитель обязана указать все продукты, из которых шоколадка сделана. Строго говоря, производителю следовало бы указывать также и массовую долю каждого из продуктов, однако, по понятным соображениям, многие этого не делают — в самом деле, надпись «Вода — 80%» вполне способна отпугнуть покупателей. Однако же, некоторые процентные доли производители все же любят указывать, полагая, что надпись «Цельные орехи — 90%» покупателей привлечёт. Подобное рвение может, впрочем, привести и к обратному эффекту, обернувшись антирекламой. Дело в том, что список продуктов, из которых сделана шоколадка, обязательно должен быть упорядочен по невозрастанию массовых долей. Соответственно, красивая надпись «Какао-масло, Вода, Какао-порошок — 40%» позволяет уличить производителя в недобросовестности: либо он неверно указал содержание какао-порошка, либо неверно указал порядок следования продуктов…
Напишите программу, которая позволила бы определять недобросовестные надписи на шоколадках.
Исходные данные
В первой строке записано целое число N (1 ≤ N ≤ 5000) — количество продуктов, из которых сделана шоколадка. Далее следуют N строк, каждая из которых содержит описание одного продукта: название (не длиннее 16 символов), которое состоит из больших и маленьких латинских букв, дефиса и символа подчёркивания. Названия всех продуктов различны. После пробела в каждой из этих строк следует цифра 0 или 1 — первая обозначает, что производитель не указал массовую долю продукта, а вторая — что после ещё одного пробела в строке записана массовая доля в сотых долях процента. Все продукты с указанной массовой долей перечислены в порядке невозрастания этой доли. Массовые доли, как реальные, так и указанные на обёртке, являются целыми числами от 1 до 10000 (в сотых долях процента).
Результат
Следует вывести одно слово заглавными латинскими буквами: NO, если описание состава шоколадки не может быть достоверным, и YES, если представленная информация непротиворечива.]


свобода выбора

Не успели жители Албании привыкнуть к свободе слова (более подробно эта история описана в задаче «Свобода слова»), как им на голову свалилась ещё и свобода выбора. В самом ближайшем будущем населению предстоит пережить первые в истории страны демократические президентские выборы.
О намерении бороться за высокий пост уже объявили два самых ярких албанских политика последних лет – либерал Мухаммед Тахир-оглы и его извечный оппонент консерватор Ахмед Касым-бей.
Задача
Следуя демократическим традициям, перед выборами оба кандидата развлекаются тем, что выливают друг другу на головы тонны грязи под одобрительные возгласы избирателей. Каждый кандидат при любом удобном случае произносит предвыборную речь, в которой обвиняет своего политического оппонента в коррупции, неуважении к старшим, пособничестве террористам и вообще всячески демонстрирует своё уважение к противнику. В результате выступления Мухаммеда и Ахмеда стали похожи друг на друга до такой степени, что избирателям теперь вообще до лампочки, за кого голосовать.
Этим хочет воспользоваться третий кандидат в президенты – председатель социалистической партии Албании товарищ Ктулху. Он поленился написать себе предвыборную речь, но между тем заметил, что некоторые фрагменты выступлений г-на Тахир-оглы и г-на Касым-бея полностью совпадают. Тогда тов. Ктулху решил взять самый длинный совпадающий фрагмент и сделать его своей предвыборной речью.
Исходные данные
Первая строка содержит целое число N (1 ≤ N ≤ 100000). Вторая строка содержит речь г-на Тахир-оглы. Третья строка содержит речь г-на Касым-бея. Каждая речь состоит из N заглавных латинских букв.
Результат
Вывести речь тов. Ктулху. Если задача имеет несколько решений, то вывести любое из них.

Если кто-то сможет чем-то помочь,буду очень благодарен.)))

Добавлено через 8 минут
Кликните здесь для просмотра всего текста
Вступление
Я люблю свой город. Меня вдохновляют эти горделиво стремящиеся ввысь хрущёвки и перекопанные ещё в прошлом веке улицы. Мне так близки эти толпы вечно обиженных представителей рабочего класса, прячущихся от армии тупых студентов, охотящихся за стеклотарой пенсионеров, бесконечно милых бомжей и не менее милых молодых людей в чёрных кожаных куртках и кепках-восьмиклинках.
А ещё в городе живёт дедушка. Точнее, жил до тех пор, пока его дом не снесли и не построили на его месте казино. Ничего удивительного, ведь казино городу намного нужнее, чем какой-то там дедушка. Против принципов рыночной экономики не попрёшь.
Поэтому дедушке пришлось переселиться в теплотрассу, проходящую прямо под городом. При всех своих недостатках, проживание в теплотрассе подразумевает бесплатное водоснабжение, отопление и вообще полное отсутствие квартплаты. Словом, дедушку ждёт достойная старость. Спасибо за это родному государству.
Но как бы ни была прекрасна жизнь в теплотрассе, временами дедушке всё же необходимо подниматься на поверхность и посещать один из нескольких важных пунктов. Иногда ему нужно убедиться в отсутствии бесплатных лекарств в поликлинике, запастись продовольствием на рыночной свалке, получить пенсию на почте или отдать эту пенсию внуку - как раз хватит на мороженое!
Задача
Теплотрасса была построена ещё при Сталине, и поэтому представляет собой прямой тоннель без ответвлений. Любая её точка характеризуется своим магистральным смещением. Магистральное смещение начала теплотрассы, расположенного под зданием городской администрации, равно нулю. Расстояние между любыми двумя точками теплотрассы вычисляется как модуль разности их магистральных смещений.
Так уж получилось, что теплотрасса проходит подо всеми N пунктами, посещаемыми дедушкой. Для каждого канализационного люка, ведущего из теплотрассы прямо в один этих пунктов, известно его магистральное смещение P[i]. Дедушка может вылезать из теплотрассы только через эти люки. Если он попытается вылезти через какой-нибудь другой люк, то бдительные милиционеры сразу же задержат его как опасного бомжа.
Дедушка уже старенький, и усилия, затрачиваемые им на преодоление некоторого расстояния, пропорциональны квадрату этого расстояния. Поэтому дедушка хотел бы жить в той точке теплотрассы, для которой среднее арифметическое усилий на достижение каждого из пунктов минимально.

Исходные данные
Первая строка содержит целое число N (1 ≤ N ≤ 1000). Вторая строка содержит N целых чисел P[i] (0 ≤ P[i] ≤ 106).

Результат
Вывести магистральное смещение искомой точки не менее чем с шестью знаками после десятичной точки. Если задача имеет несколько решений, то вывести любое из них.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru