С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 04.11.2013
Сообщений: 47
1

Не работает счетчик операций

25.12.2014, 21:03. Показов 1417. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго вечера,может кто помочь? Изначально было задание переписать программу из паскалая в с++ включая процедуру findsum строки счетчика элементарных операций и отладить её в Borland C++. В данный момент при вводе любого N и V всегда выдает ответ 2.
p.s. очень надо правильно сделать программу,т.к. времени мало.
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iomanip>
#include <conio.h>
#include <iostream>
#include <stdlib.h>
#include <math.h>
long int number[100],count[100],n,v,c,flg;
 
using namespace std;
 
void Find_sum(long int n, long int v, long int s[100], long int cnt[100], long int flg)
{int i,j,sum;
flg=0;
c=c+1;
i=1;
c=c+1;
do {cnt[i]=0;
i++;}
while (i>n);
cnt[n]=1;
////////////
do
{sum=0;
 i=1;
  do  {sum=sum+cnt[i]*s[i];
  i++;}
  while (i<n);}
  while (cnt[0]==1);
  //
  if (sum==v)
   {flg=1;
   cout<<"OK";
   getch();
   }
  j=n;
   while (cnt[j]==1)
    {cnt[j]=0;
    j=j-1;
    }
   cnt[j]=1;
}
 
int main ()
{long int i;
cout<<"Vvedite N= ";
cin>>n;
cout<<"Vvedite V= ";
cin>>v;
for(i=1;i<n;i++)
number[i]=55 + (55-5)*(rand())/RAND_MAX;
c=0;
Find_sum(n,v,number,count,flg);
cout<<"f("<<n<<")="<<c;
cin;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2014, 21:03
Ответы с готовыми решениями:

Счетчик операций в цикле do-while
Счетчик операций i выдает нереально завышенные цифры: всего 4 преобразования - как будто 15...

Нужно вставить счетчик операций в программу
Здравствуйте товарищи программеры тут такая ситуация Есть уже написанная прога Единственно в...

Наследование, счетчик, перегрузка операций: К префиксным операциям нет доступа
обычный счетчик с уровнями наследования. почему-то к префиксным операциям нет доступа. в чем дело?...

Счетчик операций со стеком
есть код работы сортировки стека и надо сделать счетчик операций со стеком. В принципе смог...

6
Модератор
Эксперт С++
13721 / 10918 / 6478
Регистрация: 18.12.2011
Сообщений: 29,147
25.12.2014, 21:10 2
Вызов:
Цитата Сообщение от Bob_Sagen Посмотреть сообщение
c=0; Find_sum(n,v,number,count,flg);
Цитата Сообщение от Bob_Sagen Посмотреть сообщение
c=c+1; // с=1
i=1;
c=c+1; // с=2
Больше с не меняется.
С какого бодуна она не будет равна двум?
0
1 / 1 / 0
Регистрация: 04.11.2013
Сообщений: 47
25.12.2014, 21:13  [ТС] 3
Тёзка помоги разобраться, только начал вникать в c++
0
Модератор
Эксперт С++
13721 / 10918 / 6478
Регистрация: 18.12.2011
Сообщений: 29,147
25.12.2014, 21:19 4
Мне не понятно, что за операции Вы собираетесь считать?
1
1 / 1 / 0
Регистрация: 04.11.2013
Сообщений: 47
25.12.2014, 22:27  [ТС] 5
Мне необходимо ввести счетчик цикла для получения ответа (пример формулы по которой должен получится ответ f(n)=8*n*2^n+16*2^n-3*n-12 , тоесть мы берем за n=16 и ответ будет 9 437 124,саму формулу использовать в программе нельзя (как я понял))
я уверен что я плохо объяснил и вы наверное не поняли(

Добавлено через 7 минут
zss,
0
Модератор
Эксперт С++
13721 / 10918 / 6478
Регистрация: 18.12.2011
Сообщений: 29,147
25.12.2014, 22:30 6
Нет не понятно. Если Вы имеете ввиду разложение функций в ряд Тейлора, то см.
Вычисление функций разложением в ряд Тейлора.
n в приведенных примерах - как раз количество итераций.
0
1 / 1 / 0
Регистрация: 04.11.2013
Сообщений: 47
25.12.2014, 23:04  [ТС] 7
zss,
Pascal
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
PROGRAM ТаsкSum;
Uses Dos,Crt;
Type
fp = Extended;
fix = Longint;
Vector = Array (0,.100] of fix;
Var
Number,Count    : Vector;
N   :   fix;
V   :   fix;
Flag    : Boolean;
с : fix; { счетчик операций }
Procedure SetNumber;
Var
i : fix ;
Begin
ClrScr;
Write("N=");
Readln(N);
Write("V=");
Readln(V);
For i:=1 to N do begin
Number(i)=Random(100)+50; 
end;
End;
Procedure FindSum(N,V : fix; Var S,Cnt : Vector; Var Flag; Boolean);
Var
i,j :fix;
Sum : fix;
Begin
Flag:=False;
c:=c+1;(пример    вставки строки счетчика для Flag:=False)
 i:=1;
с:=с+1;(пример  вставки строки счетчка i:= 1)
Repeat
begin
Cnt[i]:=0; 
i:=i+1;
end;
Until i>N;
Cnti[N]:=1;
Repeat
begin
sum:=0;
i:=i+1 ;
Repeat
begin
sum:=sum+Cnt[i]*S[i];
i:=i + 1; 
end;
Until i->N;
If sum = V 
then
begin
Flag:=True;
Writes('OK');
Readln;
Halt;
end;
j :=n;
While Cnt[j]:=1 do
begin
Cnt S [j]:=0;
j:=j-1
end;
Cnt[j]:=1; 
end;
Until Cnt[0] = 1;
End;
BEGIN
Randomize;
SetNumber;
c=:0; ( обнуление счетчика операций )
FindSum(N, V, Number, Count, Flag) ;
Writeln("f"(",N:2,")=",c:12);
Readln;
END.
данную задачу надо отладить в с++, и включить строки счетчика элементарных операций,
и чтоб полученный счетчик равнялся итоговым значениям (например n=16 значит 2^n=65536 , f(n)-теория=9437124, и тд. если надо могу дальше привести примеры)
Надеюсь хоть сейчас вам немного понятно)
0
25.12.2014, 23:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2014, 23:04
Помогаю со студенческими работами здесь

Ну не работает счетчик
Привет ребятки! Помогите пожалуйста, голову сломал уже:wall: не работает счетчик. проект...

Не работает счетчик
В кратце скажу. На писал прогу в которой функция должна в строке искать пробелы и считать сколько...

Не работает счётчик
Здравствуйте. Подскажите пожалуйста почему не работает счётчик? уже всю голову сломал :cry:...

Не работает счетчик
ребятки, помогите! выкладываю свой проект. не работает счетчик:( связал таблицы так...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru