Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
gr_8_zizu
13 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 149
#1

Ошибочки в функции - C++

30.07.2011, 00:38. Просмотров 376. Ответов 7
Метки нет (Все метки)

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
bool dfs (int i1, int pArray[][],int q[])
{
bool test;
int n=10, m=12;
int d1;
   for(int d=0; d<m; d++)
   {
   if(pArray[i1][d]==1)
      {
      for(int d1=0; d1<n; d1++)
         {
         if(pArray[d1][d]==2)
            {
             if(i1==q[0]||i1==q[1]||i1==q[2]||i1==q[3]||i1==q[4]||i1==q[5])
             {
             test=true;
             break;
             }
             else
             {
             test=false;
             break;
             }
            }
         }
      }
   }
return test;
}
Ошибочки в функции
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2011, 00:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибочки в функции (C++):

ошибочки. как разобраться?найти точки перегиба - C++
нужно найти точки перегиба функции..видела гдето у вас здесь на форуме подобное но сама все равно не могу одолеть. Дословно не помню,но...

Функции. Как после одного возвратного значения функции отталкиваться от возврата другой функции - C++
Написал код, в котором 2 функции одна возвращает стринговое значение, вторая должна бы вернуть значение, отталкиваясь от первой. Возможно...

Поиск ошибочки - jQuery
Друзья, я начинающий фронтендер прошу тапками сильно не кидать. Знаю что есть ошибка, знаю где, но не знаю почему? &lt;script...

нужно найти ошибочки... - C#
Помогите пожалуйста найти ошибочки.... namespace VeryBadProgram { class Program { static void Main(string...

Господа, исправьте пожл ошибочки! :< - C++ Builder
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #pragma hdrstop #include...

ошибочки.только учусь. как разобрать? - OpenGL
на парах писали прогу - все работало..пришла домой - решила переделать под свои данные:и почему то не запусается,хотя все...

7
Belphanior
8 / 8 / 0
Регистрация: 10.03.2011
Сообщений: 62
30.07.2011, 01:38 #2
Попробуйте заменить заголовок функции на
C++
1
bool dfs (int i1, int** pArray,int* q)
1
gr_8_zizu
13 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 149
30.07.2011, 01:47  [ТС] #3
Belphanior, Спасибо помогло. Но я думал что моя запись и ваша полностью идиентичны ну за исключением синтаксиса!
0
Belphanior
8 / 8 / 0
Регистрация: 10.03.2011
Сообщений: 62
30.07.2011, 01:53 #4
gr_8_zizu, не могу сказать ничего конкретного на этот счет) Но вместо того, чтобы передавать целый массив в качестве параметра уж лучше передать указатель. Что если там массив 10000 на 10000?
1
grizlik78
Эксперт С++
1971 / 1464 / 122
Регистрация: 29.05.2011
Сообщений: 3,029
30.07.2011, 02:30 #5
Вообще, чтобы правильно ответить на вопрос надо бы видеть как вызывается функция и как объявлены массивы.

Цитата Сообщение от Belphanior Посмотреть сообщение
Но вместо того, чтобы передавать целый массив в качестве параметра уж лучше передать указатель.
Ну, массив и не будет передаваться. По-крайней мере int q[]. Запись же int pArray[][] просто не верна: хотя бы для первого измерения размер должен быть задан.

Цитата Сообщение от gr_8_zizu Посмотреть сообщение
Belphanior, Спасибо помогло. Но я думал что моя запись и ваша полностью идиентичны ну за исключением синтаксиса!
Нет, не идентичны. int q[] отличается от int* q почти так же, как статический (автоматический) массив отличается от указателя.

Но если с предложенным описанием параметров функции всё работает, то наверное действительно нужны были указатели. Массивы динамические?
1
gr_8_zizu
13 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 149
30.07.2011, 02:45  [ТС] #6
grizlik78, нет массивы статические.
0
grizlik78
Эксперт С++
1971 / 1464 / 122
Регистрация: 29.05.2011
Сообщений: 3,029
30.07.2011, 03:40 #7
Тогда работать должно неправильно.
Двухмерный массив не является массивом указателей, так что его нельзя передавать через двойной указатель.

Добавлено через 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
28
#include <stdio.h>
 
int a[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
 
void test1(int b[][3])
{
    int i, j;
    printf("test1:\n");
    for (i = 0; i < 3; ++i)
        for (j = 0; j < 3; ++j)
            printf("b[%d][%d] = %d\n", i, j, b[i][j]);
}
 
void test2(int **b)
{
    int i, j;
    printf("test2:\n");
    for (i = 0; i < 3; ++i)
        for (j = 0; j < 3; ++j)
            printf("b[%d][%d] = %d\n", i, j, b[i][j]);
}
 
int main(void)
{
    test1(a);
    test2((int**)a);
    return 0;
}
При запуске имеем:
Код
$ ./a.out     
test1:
b[0][0] = 1
b[0][1] = 2
b[0][2] = 3
b[1][0] = 4
b[1][1] = 5
b[1][2] = 6
b[2][0] = 7
b[2][1] = 8
b[2][2] = 9
test2:
zsh: segmentation fault  ./a.out
Про первое измерение я погорячился. Как раз для него не обязательно размер указывать.

Добавлено через 29 минут
А вот когда я говорил про отличия int q[] от int* q я был неправ, так как в голове держал двухмерные массивы. Для одномерных эти формы записи, по-моему, всё-таки эквивалентны.
1
gr_8_zizu
13 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 149
30.07.2011, 12:57  [ТС] #8
Может быть не по теме, но всетаки спрошу. эту функцию я использую для того что бы переходить по графу вниз. так вот эту функцию нужно вызывать для каждой вершины матрицы. мб кто нить знает как ето лучше сделать.
0
30.07.2011, 12:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2011, 12:57
Привет! Вот еще темы с ответами:

excel. создать таблицу значение кусочно-непрерывной функции y на интервале [xmin; xmax] с шагом h, для расчета функции y используя логические функции - Delphi

Табулирование функции и бесконечного функционального ряда разложения функции на данном отрезке - Visual Basic .NET
Всем доброго времени суток, Написал код для табулирования функции и функционального ряда и оценки средних погрешностей - все...

Delphi, визуальное программирование, функции, использование несколько объектов через функции - Delphi
Здорово, ребята. Вот когда писал программку, возникла такая мысль - можно ли использовать одну и туже функцию к разным объектам? Вот код...

Найти минимальное значение функции на промежутке. Напечатать таблицу значений функции. - MathCAD
Найти минимальное значение функции Y=(Х)^1/2- cosХ на промежутке 3&lt;X&lt;9 с шагом дельтаХ=0,3. Напечатать таблицу значений функции.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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