|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.11.2011, 11:46 | #1 |
Пользователь
Регистрация: 01.11.2011
Сообщений: 42
|
Работа с циклом ( находим сумму) - не могу понять , где ошибся )
Всем привет)
Начну с главного .. В общем вот сама задачка( номер 100!!!) - : Хм...многие скажут ...: - не не братюнь мы за тя бездыря решать не будем ... Однако , у меня есть доки что я не бездырь --- обычно я если не могу решить задачу - я ее все равно решаю ,)Говорить о том что эта задача сложная - не надо , она все же простая ....Замечу что задачи с номером 98 и 103 я решил как 2 пальца об носок , и 1 через дырку в нем )Так же замечу , что над этой задачей я просидел 15 минут - , и решил ее , однако как оказалось решил ее правильно только для цикла идущего в 5 шагов , а не в сто или 200 )=> задача неправильно решена ... Вот тут то я уже и стал думать над моей ошибкой , и думал я 3 дня и 3 ночи , часов по 5 ) Но увы так и не понял где же я ошибся )) Вот обращаюсь к вам , господа Профессионалы !! П.С вот тут вот вы можете видеть то что нарешал я сам : // 100.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <stdio.h> #include <tchar.h> #include <math.h> #include <conio.h> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { double x1,x2,x3,x4,t,s,p,i,n; cout<<"enter n : "; cin>>n; if (n>0) { for (i=1,x1=1,x2=1,x3=1,x4=0,s=0,p=0,t= 0;i<=n;i++) { t=pow(2,i); p=x1/t; x1=x2; x2=x3; x4=x3+x1; x3=x4; s+=p; } cout<<"Summa = "<<s; } else cout<<"Summa = 0 "; getch(); return 0; } HELPPPPP!!!!!blblblblbl |
01.11.2011, 12:08 | #2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
1) pow - довольно "дорогая" функция, без необходимости ей лучше не пользоваться. Два варианта на замену:
t*=2;//Изначально t должно быть равно 1 t=1 << i; 2) Есть хороший инструмент отладчик, он позволил бы увидеть ошибку очень быстро. Смотрите: Вы сначала присваиваете x1 x2, а потом считаете x4=x3+x1. Последний раз редактировалось Abstraction; 01.11.2011 в 12:52. |
01.11.2011, 12:21 | #3 |
Пользователь
Регистрация: 01.11.2011
Сообщений: 42
|
Вот я дурак , про отладчик не знаю , где он находится ?? Это вы имеете в виду OllyDbg ????
Я в с++ совсем недавно сижу , дней 5 ) А вам уважаемый , большущее спасибо !!!! Я бы и не заметил это1 ошибочки )))) |
01.11.2011, 12:51 | #4 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
ИСР (интегрированная среда разработки, такая как Borland Builder, Qt Creator, Visual Studio) содержит средства отладки в терминах исходного кода. Команды доступны из меню Debug/Отладка и позволяют идти по строкам исходного кода, просматривая значения переменных.
OllyDbg - это отдельный отладчик, заметно более тяжёлый в использовании инструмент. При обычной отладке собственных программ он не нужен. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не могу понять где ошибка. | Демик | Общие вопросы C/C++ | 4 | 27.05.2011 13:31 |
не могу понять где ошибка | Neon-z | PHP | 13 | 22.01.2011 16:15 |
Не могу понять где ошибка | Азиза | Общие вопросы C/C++ | 1 | 11.01.2011 14:03 |
Не могу понять, где ошибка( | IROKEZ | Общие вопросы C/C++ | 4 | 16.12.2010 21:00 |