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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
StrelokCj
49 / 49 / 12
Регистрация: 15.01.2013
Сообщений: 290
#1

Последовательность - C++

21.03.2013, 21:07. Просмотров 321. Ответов 3
Метки нет (Все метки)

Каждое натуральное число можно представить в виде суммы нескольких строго последовательных натуральных чисел. Например, число 6 можно представить в виде суммы из одного (6) или трех (1+2+3) чисел.

Требуется написать программу, которая определит максимальное количество чисел в таком разложении.

В Delphi данную задачу решил так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.Button1Click(Sender: TObject);
var
n,i,s,c,j:LongInt;
begin
n:=StrToInt(edit1.text);
i:=0;
s:=0;
repeat
i:=i+1;
c:=0;
for j:=i to n do begin
  c:=c+j;
  if (c=n) then s:=s+1;
end;
until i=n;
label3.Caption:='Максимальное количество чисел в разложении'+chr(13)
+' числа '+inttostr(n)+' на сумму строго последовательных '+chr(13)
+'натуральных чисел='+inttostr(s);
end;
Эту же задачу решил переписать в C++ :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int n,j,c,s,i;
j=0;
s=0;
n=StrToInt(Edit1->Text);
do {
j=j+1;
c=0;
for (i = j; i == n; i++) {
c=c+i;
if (c==n) {
s=s+1;
}
}
}
while (j<n);
Label2->Caption=IntToStr(s);
}
И когда как в Delphi все правильно выполняется, в C++ упорно выводит ответ "1" при любом вводимом значении.
Подскажите, в чем может быть ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2013, 21:07     Последовательность
Посмотрите здесь:

Задана последовательность из N чисел. Найти самую длинную последовательность, обладающую данным свойством - Turbo Pascal
Прошу помощи мастеров решить ОДНУ задачкУ: 1) Задана последовательность из N чисел. Найти самую длинную последовательность, обладающую...

Дана последовательность чисел ai. Построить новую последовательность. - Delphi
Здравствуйте... Я перечитал свой конспект, пробовал что-то сделать, но у меня ничего не вышло... Были версии близки к заданию, но до конца...

Дано натуральное число а. записать убывающую последовательность чисел без последней цифры предыдущего ( например а=2345, полученная последовательность - Turbo Pascal
помогите пожалуйста решить задачу двумя способами, через функции и процедуры! дано натуральное число а. записать убывающую...

Задана последовательность слов. Определить частоту вхождения каждого слова в последовательность. - C++
Доделать программу, чтобы работала как надо Задана последовательность слов. Определить частоту вхождения каждого слова в...

2. Дана целочисленная последовательность. Определить количество вхождений каждого числа в последовательность - Pascal
Написал программу var a,c:array of integer; count,i,p,u: integer; begin for i:=1 to 10 do begin read(p); a:=p; end;

Задана последовательность N вещественных чисел. Отсортировать последовательность по убыванию методом выбор - Pascal ABC
И снова прошу помощи написать код. Задана последовательность N вещественных чисел. Отсортировать последовательность по убыванию...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
21.03.2013, 21:16     Последовательность #2
Не знаю может ошибка в этом ??
Присмотритесь к этому циклу
C++
1
for (i = j; i == n; i++) {
П.С. особенно на условие выхода из цикла.
StrelokCj
49 / 49 / 12
Регистрация: 15.01.2013
Сообщений: 290
21.03.2013, 21:22  [ТС]     Последовательность #3
Спасибо большое, оказывается на выходе неправильно был указан параметр:
C++
1
for (i = j; i <= n; i++) {
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2013, 21:23     Последовательность
Еще ссылки по теме:

Дана последовательность А1...А50. Получить новую последовательность, исключив отрицательные элементы - Pascal
Дана последовательность А1...А50. Получить новую последовательность, исключив отрицательные элементы

Вводится последовательность из N вещественных чисел. Определить, является ли последовательность знакочередующе - C++
Вводится последовательность из N вещественных чисел. Определить, является ли последовательность знакочередующейся. не пойму как сделать,...

Считать последовательность цифр и преобразовать ее в последовательность соответствующих латинских букв - Pascal ABC
нужно чтобы 1-A 2-B 3-C 4-D и так до 26 латинских букв.

Считать последовательность цифр и преобразовать ее в последовательность соответствующих латинских букв - Turbo Pascal
Все что сам смог написать в Паскале Program lit; Var A,N:char; Begin A:=chr(70); N:=A; writeln(ord(N)); Writeln(A); End.


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

Или воспользуйтесь поиском по форуму:
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
21.03.2013, 21:23     Последовательность #4
Ну вот все и решилось
Yandex
Объявления
21.03.2013, 21:23     Последовательность
Ответ Создать тему
Опции темы

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