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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
fen1ksss
2 / 2 / 0
Регистрация: 16.09.2010
Сообщений: 71
#1

описание массивов - C++

19.02.2011, 13:32. Просмотров 1145. Ответов 5
Метки нет (Все метки)

Подскажите, есть 2 cpp файла

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Raschet(int **const iMatrix, double *n, const int iNum_x, const int iNum_y)
{
        int s;
    n = new double [iNum_x];
    for (int j=0; j<iNum_x; j++)
    {
        s=0;
        for (int i=0; i<iNum_y; i++)
        {
            s=iMatrix[i][j]+s;
        }
        n[j] = s/iNum_y;
    }
}
C++
1
2
3
4
5
6
7
8
9
10
11
void Rezult(double *n, const int iRazmer_x)
{
    using namespace std;
    cout << "Matrix elements:" << endl;
    for (int j=0; j<iRazmer_x; j++)
    {
        cout.width(3);
        cout << n[j];
        cout << '\n';
    }
}
в главном файле их вызов идет друг за другом

Вопрос: на этой строке cout << n[j]; выдает ошибку violation accsess
я так понимаю нужно сделать указатель на этот массив, подскажите как.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2011, 13:32     описание массивов
Посмотрите здесь:

Описание класса: определение одномерных массивов - C++
Составить описание класса для определения одномерных массивов строк фиксированной длины. Предусмотреть возможность обращения к отдельным...

Составить описание класса одномерных массивов строк - C++
Составить описание класса одномерных массивов строк, каждая строка задается длиной и указателем на выделенную для нее память. Предусмотреть...

Составить описание класса одномерных массивов строк - C++
Составить описание класса одномерных массивов строк,каждая строка которых задается длиной и указателем на выделенную для нее память....

Описание класса для определения одномерных массивов строк фиксированной длины - C++
Составить описание класса для определения одномерных массивов строк фиксированной длины. Предусмотреть возможность обращения к отдельным...

Описание класса для определения одномерных массивов строк. Исправить ошибку - C++
Программа иногда работает правильно а иногда вылетает с ошибкой Unhandled exception at 0x009C12F8 in HelloWorld.exe: 0xC0000005: Access...

Пытаюсь создать описание класса одномерных массивов строк. В чем моя ошибка? - C++
Помогите пожалуйста! Пытаюсь создать описание класса одномерных массивов строк. В чем моя ошибка? #include &lt;iostream&gt; #include...

Составить описание класса одномерных массивов строк, каждая строка задается длиной и указателем на выделенную для нее память - C++
Реализация системы классов для работы с одномерными массивами строк.Составить описание класса одномерных массивов строк, каждая строка...

Где пишется описание для выходного файла .exe (например описание процесса) - C++
Консольный проект, скомпилировали, получили exe. Жмем правой кнопкой на нем\свойства\вкладка подробно, почти все описание exe файла...

Описание Формулы - C++
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале до с шагом с точностью ....

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
19.02.2011, 14:18     описание массивов #2
C++
1
2
3
4
5
int **matrix = NULL;
int *array = NULL;
Raschet(matrix, array, 0, 0);
printf("%s\n" ((array == NULL)  ? "Yes" : "No"));
// sad, but true
fen1ksss
2 / 2 / 0
Регистрация: 16.09.2010
Сообщений: 71
19.02.2011, 15:17  [ТС]     описание массивов #3
Цитата Сообщение от lemegeton Посмотреть сообщение
C++
1
2
3
4
5
int **matrix = NULL;
int *array = NULL;
Raschet(matrix, array, 0, 0);
printf("%s\n" ((array == NULL)  ? "Yes" : "No"));
// sad, but true
//mb you can make it easier?

просто какую то строчку дописать в моем примере?

Добавлено через 19 минут
просто мне нужно именно в 2 файлах чтобы это было...
lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
19.02.2011, 16:25     описание массивов #4
Вы передаете в функцию значение, затем меняете его. При выходе из функции оно не изменится. Т.о.
C++
1
n = new double [iNum_x];
есть лик памяти, после выхода из функции значение n не изменится и указатель на эту выделенную область памяти будет просто утерян..
fen1ksss
2 / 2 / 0
Регистрация: 16.09.2010
Сообщений: 71
19.02.2011, 16:41  [ТС]     описание массивов #5
Цитата Сообщение от lemegeton Посмотреть сообщение
Вы передаете в функцию значение, затем меняете его. При выходе из функции оно не изменится. Т.о.
C++
1
n = new double [iNum_x];
есть лик памяти, после выхода из функции значение n не изменится и указатель на эту выделенную область памяти будет просто утерян..
а если заново описывать в другом cpp
n = new double [iNum_x];
то он уже не содержит старые значения, так как быть?
lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
19.02.2011, 16:47     описание массивов #6
Пересмотреть алгоритм и функции, НЕ задавать параметрам функции значений внутри функции, если эти параметры не передаются по ссылке (С++ only).

Например, можно выделять память под n в основной программе, а в функции этого не делать.
Yandex
Объявления
19.02.2011, 16:47     описание массивов
Ответ Создать тему
Опции темы

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