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

Задача на одномерный массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ написал программу, ошибка! http://www.cyberforum.ru/cpp-beginners/thread811381.html
Info :Compiling C:\BC5\BIN\zadacha 3.cpp Warn : zadacha 3.cpp(25,3):'c' is assigned a value that is never used вот такая ошибка вылетает не знаю что делать #include <conio.h> #include <iostream.h> #include <math.h> main () {int ch, d, kol, k, prost, n, c; clrscr(); cout<<"Zadaite chislo nachalo poiska: "; cin>>k;
C++ Массив указателей на функцию Здравствуйте. У меня вопрос: почему данный код компилируется и при вводе, скажем 0 выводит 0, хотя при вводе других значений она крашится. На что указывает имя массива? #include <iostream> bool min( int, int ); bool max( int, int ); bool equal( int, int ); int main() { int choise; bool (*f)( int, int ); http://www.cyberforum.ru/cpp-beginners/thread811379.html
C++ Даны x, y, z. Вычислить a, b, если
Даны x, y, z. Вычислить a, b, если
Получение возраста из даты рождения C++
Задача получить возраст из даты рождения. Как это можно сделать? Подкиньте примеров)) p.c Заранее благодарю
C++ Передача аргументов функции http://www.cyberforum.ru/cpp-beginners/thread811366.html
Всем привет. Писал код не зная, правильно ли это. В общем застрял на составлении прототипов функции и функции мэин. И ещё, можно ли так как я структурой пользоваться? Заранее прошу прощение за возможный бред в коде. #include <iostream> #include <math.h> using namespace std; int enter(); int processing(struct side); void output(int t);
C++ Реализовать класс ListPerson для работы с картотекой персоналий Карточка персоны содержит фамилию и дату рождения. Реализовать класс ListPerson для работы с картотекой персоналий. Класс должен содержать массив карточек персон. Реализовать методы добавления и удаления карточек персон, а также метод доступа к карточке по фамилии. Фамилии в массиве должны быть уникальны. Реализовать операции объединения двух картотек, операцию пересечения и вычисления разности.... подробнее

Показать сообщение отдельно
Harutyunyan
1 / 1 / 0
Регистрация: 28.09.2012
Сообщений: 91

Задача на одномерный массив - C++

17.03.2013, 22:25. Просмотров 335. Ответов 1
Метки (Все метки)

Дана задача: "Лесенка"
Кликните здесь для просмотра всего текста

Вова стоит перед лесенкой из N ступеней. На каждой из ступеней написаны произвольные целые числа. Первым шагом Вова может перейти на первую ступень или, перепрыгнув через первую, сразу оказаться на второй. Также он поступает и дальше, пока не достигнет N-ой ступени. Посчитаем сумму всех чисел, написанных на ступенях через которые прошел Вова.

Требуется написать программу, которая определит оптимальный маршрут Вовы, при котором, шагая, он получит наибольшую сумму.

Входные данные
Входной файл INPUT.TXT содержит в первой строке натуральное число N – количество ступеней лестницы. Во второй строке через пробел заданы числа, написанные на ступенях лестницы, начиная с первой. Количество ступеней не превышает 1000, числа, написанные на ступенях, не превосходят по модулю 1000.

Выходные данные
Выходной файл OUTPUT.TXT должен содержать в первой строке наибольшее значение суммы. Во второй строке должны быть записаны через пробел номера ступеней по возрастанию, по которым должен шагать Вова.

Примеры:
Код
INPUT.TXT	             OUTPUT.TXT
Пример 1:
3                              4
1 2 1                         1 2 3
	                               

Пример 2:
3                              2
1 -1 1                       1 3


Я ее решаю таким образом:
Кликните здесь для просмотра всего текста

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
#include <fstream> 
 
int A[1001], B[1001], N, S, i, j, p;
 
int main()
{ 
    std::fstream I("input.txt"), O("output.txt", 2); 
    for(I >> N; I >> A[i++];);
    for(i = 0; i < N - 1; i++)
    {
        if(A[i] < 0 && 0 > A[i + 1])
        {
            if(A[i] > A[i + 1])
                B[i] = i + 1, S += A[i], p++;
            else
                B[i] = i + 2, S += A[i], p++;
        }
        if(A[i] < 0 && A[i + 1] > 0)
            B[i] = i + 2, S += A[i + 1], p++;
 
        if(A[i] > 0 && A[i + 1] < 0)
            B[i] = i + 1, S += A[i], p++;
 
        if(A[i] > 0 && 0 < A[i + 1])
            B[i] = i + 1, S += A[i], p++;
    }
    O << S << "\n";
    for(i = 0; i <= p; i++)
        O << B[i] << " ";
}


Но решение не совсем правильно.

Как решить данную задачу?

Не по теме:


Вот ссылка на задачу: ********/index.asp?main=task&id_task=329
Модераторы, источник проверяный!

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