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

счетчик цикла for - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Бинарный файл http://www.cyberforum.ru/cpp-beginners/thread955199.html
Всем добрый день. Почему программа не записывает в бинарном формате? #include "stdafx.h" #include <iostream> #include <string> #include <Windows.h> #include <fstream> using namespace std;
C++ Копирование указателя При выходе из функции поле Tail теряет свои значения, я так понимая это происходит из-за того что поле Tail ссылается на указатель который удаляется. Как можно скопировать значение указателя? struct ListMember { int key; ListMember *next; }; http://www.cyberforum.ru/cpp-beginners/thread955184.html
побитовые операторы _ C++
не могу разобраться в этой теме_ Вопрос по ходу дела, программа принимает число в диапазоне от 0 и до 255, после чего выводит двоичный код числа. В 27 строке, оператор if сравнивает переменные u и t которые преобразовываются в двоичный коде ? #include <iostream> using namespace std; void show_binary(unsigned int u); int main() { unsigned u;
C++ Cache miss
Всем привет. Хочу разобраться с cache miss. Кто знает какой вариант кода будет меньше содержать промахов и следовательно выполняться быстрее? Код №1 if (a == 12) { do something.... } else if (a == -1)
C++ Добрый вечер, как сделать задержку экрана, после введенных цифр? http://www.cyberforum.ru/cpp-beginners/thread955171.html
#include "StdAfx.h" #include <stdio.h> void pr1() { int a,b,c,d; printf("\n"); printf("vvevitu a,b,c \n:"); scanf("%d%d%d", &a,&b,&c); d=a+b+c;
C++ Рядом стоящие символы Входные данные: С - строка содержащяя рядом стоящие символы Выходные данные: С, c - рядом стоящие символы если они есть; если их много, то они будут выводиться по 2 в столбик; если нет таких совпадений то ничего не выводим. Пример ввода: Жужжание Пример вывода: жж Вот моё решение: #include <iostream> #include <cstdio> подробнее

Показать сообщение отдельно
iceglen
24 / 24 / 2
Регистрация: 24.06.2013
Сообщений: 105

счетчик цикла for - C++

15.09.2013, 21:36. Просмотров 544. Ответов 4
Метки (Все метки)

Есть задача из Прата глава 5 № 4.
Кликните здесь для просмотра всего текста
Дафна инвестировала $100 под простые 10%. Другими словами, ежегодно инвестиция должна приносить 10% инвестированной суммы, т.е. $10 каждый год:прибыль = 0,10 х исходный баланс. В то же время Клео инвестировала $100 под сложные 5%. Это значит, что прибыль составит 5% от текущего баланса, включая предыдущую накопленную прибыль:прибыль = 0,05 х текущий баланс. Клео зарабатывает 5% от $100 в первый год, что дает ей $105. На следующий год она зарабатывает 5% от $105, что составляет $5.25, и т.д. Напишите программу, которая вычислит, сколько лет понадобится для того, чтобы сумма баланса Клео превысила сумму баланса Дафны, с отображением значений обоих балансов за каждый год.


В целях обучения попробовал выделить память, используя new и delete для всех переменных (в том числе и i).

При таком виде программа не работает (компилится без ошибок).

Кликните здесь для просмотра всего текста
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
#include <iostream>
 
using namespace std;
 
int main()
{
  int * dbalance = new int;
  *dbalance = 100;
  int * cbalance = new int;
  *cbalance = *dbalance;
  int * i = new int;
  for (*i = 0; *cbalance <= *dbalance; *i++)
  {
    cout << *i << " year:" << endl;
    cout << "\tCleos balance is " << *cbalance << endl;
    cout << "\tDafnas balance is " << *dbalance << endl;
    *dbalance = *dbalance + 0.1 * 100;
    *cbalance = *cbalance + 0.05 * (*cbalance);
  }
  cout << "On the " << *i << " year Cleo will have more money than Dafna." << endl;
  cout << "\tCleos current balance is " << *cbalance << endl;
  cout << "\tDafnas current balance is " << *dbalance << endl;
  delete dbalance;
  delete cbalance;
  delete i;
  return 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
#include <iostream>
 
using namespace std;
 
int main()
{
  int * dbalance = new int;
  *dbalance = 100;
  int * cbalance = new int;
  *cbalance = *dbalance;
  int i;
  for (i = 0; *cbalance <= *dbalance; i++)
  {
    cout << i << " year:" << endl;
    cout << "\tCleos balance is " << *cbalance << endl;
    cout << "\tDafnas balance is " << *dbalance << endl;
    *dbalance = *dbalance + 0.1 * 100;
    *cbalance = *cbalance + 0.05 * (*cbalance);
  }
  cout << "On the " << i << " year Cleo will have more money than Dafna." << endl;
  cout << "\tCleos current balance is " << *cbalance << endl;
  cout << "\tDafnas current balance is " << *dbalance << endl;
  delete dbalance;
  delete cbalance;
  return 0;
}


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