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

Выходят 2 одинаковые ошибки - C++

Восстановить пароль Регистрация
 
Radis
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 4
06.06.2010, 19:39     Выходят 2 одинаковые ошибки #1
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.h>
 
#include <math.h>
#include <conio.h>
int main()
{int i, j, n,m,fl ;
int *px, *pfl;
cout<<"Razmernost:\n";
 cin>>n;
 m=pow(2,n);
 px=new int[m];
 pfl=new int[m];
 cout<<"Vvedite vector znachenii funkcii:\n";
 for(i=0; i<m; i++)
 cin>>px[i];
 for(j=0; j<n; j++)
 { for(i=0; i<m; i++)
    pfl[i]=0;
    fl=0;
    for(i=0; i<m; i++)
    if(pfl[i]==0)
    { [U]if(px[i]!=px[i+pow(2,j)]) {fl=1; break;}
       pfl[i+pow(2,j)]=1;[/U]
    }
   if(fl==0) cout<<"X"<<n-j<<" - fiktivnaya peremennaya.\n";
 } getch();
}


выходит 2 ошибки где я подчеркнул: invalid types `int*[double]' for array subscript
помогите пожалуйста!!! завтра надо сдать курсовую по дискретке!!((
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
06.06.2010, 19:55     Выходят 2 одинаковые ошибки #2
Функция pow возращает тип double который не может использоваться в качестве индекса массива.)

Добавлено через 58 секунд
Цитата Сообщение от Radis Посмотреть сообщение
i+pow(2,j)
плюс у тебя сдесь гарантированный вылет за пределы массива.
Radis
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 4
06.06.2010, 19:59  [ТС]     Выходят 2 одинаковые ошибки #3
и что теперь делать????((
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
06.06.2010, 20:01     Выходят 2 одинаковые ошибки #4
Переделывать вот что.
Radis
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 4
06.06.2010, 20:11  [ТС]     Выходят 2 одинаковые ошибки #5
если бы я знал как это делать....))

Добавлено через 9 минут
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.h>
 
#include <math.h>
#include <conio.h>
int main()
{int i, j, n,m,fl ;
int *px, *pfl;
cout<<"Razmernost:\n";
 cin>>n;
 m=n*n;
 px=new int[m];
 pfl=new int[m];
 cout<<"Vvedite vector znachenii funkcii:\n";
 for(i=0; i<m; i++)
 cin>>px[i];
 for(j=0; j<n; j++)
 { for(i=0; i<m; i++)
    pfl[i]=0;
    fl=0;
    for(i=0; i<m; i++)
    if(pfl[i]==0)
    { if(px[i]!=px[i+j*j]) {fl=1; break;}
       pfl[i+j*j]=1;
    }
   if(fl==0) cout<<"X"<<n-j<<" - fiktivnaya peremennaya.\n";
 } getch();
}
я обошелся тупо без pow)))
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
06.06.2010, 20:13     Выходят 2 одинаковые ошибки #6
Ну с возведением 2 в степень могу помочь
C++
1
2
3
4
5
6
7
8
9
10
int BinPow(int num)
{
   int i, bin = 2;
 
   if (num == 0)
      return 1;
   for (i = 1; i < abs(num); i++)
      bin *= 2;
   return bin;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2010, 20:16     Выходят 2 одинаковые ошибки
Еще ссылки по теме:

При переводе программы с VS c++ 6.0 на VS c++ 2010 express выходят ошибки, как их исправить? C++
C++ При переворачивании массивов выходят такие цифры: "-858993469". Как с этим бороться?
Почему в MVS community 2015 постоянно выходят ошибки Visual C++
Типы данных: постоянно выходят логические ошибки C++
C++ Как заполнить массив рандомными дробными числами, если при следующем раскладе все равно выходят целые?

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

Или воспользуйтесь поиском по форуму:
Radis
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 4
06.06.2010, 20:16  [ТС]     Выходят 2 одинаковые ошибки #7
ой я ошибся))) перепутал

Добавлено через 2 минуты
огромное спасибо.
Yandex
Объявления
06.06.2010, 20:16     Выходят 2 одинаковые ошибки
Ответ Создать тему
Опции темы

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