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

C++

Войти
Регистрация
Восстановить пароль
 
Radis
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 4
#1

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

06.06.2010, 19:39. Просмотров 492. Ответов 6
Метки нет (Все метки)

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
помогите пожалуйста!!! завтра надо сдать курсовую по дискретке!!((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2010, 19:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выходят 2 одинаковые ошибки (C++):

Почему в MVS community 2015 постоянно выходят ошибки - Visual C++
Подскажите ПОЖАЛУЙСТА, ЧТО ДЕЛАТЬ. В VC++ --&gt; win32 всегда, что нить программируя, то и дело возникают ошибки при отладке. Даже в такой...

Ошибки после компиляции на Visual Express 2012.Ошибки в теме - Visual C++
Добрый вечер ребят помогите пожалуйста.Программа написана на Visual Express 2012.Обясните что поменять чтобы зароботало. После компиляции...

Типы данных: постоянно выходят логические ошибки - C++
Помогите пожалуйста с реализацией.Постоянно выходят логические ошибки

При переводе программы с VS c++ 6.0 на VS c++ 2010 express выходят ошибки, как их исправить? - C++
На Vusial Studio c++ 6.0 все прекрасно работало, но стоило мне все это перевести на visual c++ 2010 express, то вышли ошибки и куча...

Вместо русского языка в DOS выходят непонятные знаки и слова - C++
Добрый день ! Помогите пожалуйста, не могу понять в чем дело. Я работаю в Microsoft Visual Studio 2012 Proffeional. Я только учусь,...

Как заполнить массив рандомными дробными числами, если при следующем раскладе все равно выходят целые? - C++
float *pointer = new float; for (int i = 0; i &lt; a; i++) pointer = rand() % 20 + 1; for (int i = 0; i &lt; a; i++) { cout &lt;&lt;...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
06.06.2010, 19:55 #2
Функция pow возращает тип double который не может использоваться в качестве индекса массива.)

Добавлено через 58 секунд
Цитата Сообщение от Radis Посмотреть сообщение
i+pow(2,j)
плюс у тебя сдесь гарантированный вылет за пределы массива.
Radis
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 4
06.06.2010, 19:59  [ТС] #3
и что теперь делать????((
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
06.06.2010, 20:01 #4
Переделывать вот что.
Radis
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 4
06.06.2010, 20:11  [ТС] #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
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
06.06.2010, 20:13 #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;
}
Radis
0 / 0 / 0
Регистрация: 06.06.2010
Сообщений: 4
06.06.2010, 20:16  [ТС] #7
ой я ошибся))) перепутал

Добавлено через 2 минуты
огромное спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2010, 20:16
Привет! Вот еще темы с ответами:

При переворачивании массивов выходят такие цифры: "-858993469". Как с этим бороться? - C++
постоянно сталкиваюсь с такой проблемой: при переворачивании массивов выходят такие цифры: вот код: #include &lt;stdio.h&gt; #include...

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; class A{ private: int* a; size_t size_; ...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.06.2010, 20:16
Ответ Создать тему
Опции темы

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