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

Как правильно передать массив через указатель?

17.09.2016, 21:55. Показов 2419. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#pragma once
#include <vector>
 
 
class TOMathModel
{
public:
    TOMathModel(void);
    ~TOMathModel(void);
 
};
 
class TMathModel : public TOMathModel
{
    
public:
    TMathModel(){};
    ~TMathModel(){};
 
    void FR( double*y,double *dydx)
    {
        dydx[0]=y[0]*y[0]-y[1];
        dydx[1]=y[1];
    }
 
};#include "MathModel.h"
#include <vector>
#include <iostream>
#pragma once
using namespace std;
class Integrator
{
public:
    
    Integrator(void);
    ~Integrator(void);
    TMathModel Model;
    
    
    void Evaluate(double *y,double *y0,double h)
    {
        
        double *resul=new double[2];
        resul[0]=0;
        resul[1]=0;
        Model.FR(y,y0);
        resul[0]=resul[0]+h*y0[0];
        resul[1]=resul[1]+h*y0[1];
        cout<<resul[0]<<"   "<<resul[1]<<endl;
        
    }
    
    
    
};
#include "stdafx.h"
#include "Integrator.h"
#include <iostream>
#include "MathModel.h"
#include <vector>
 
using namespace std;
 
 
 
int main()
{
    Integrator integ;
    double y[]={0,1};
    double y0[]={0,0};
    for(int i=10;i;i--)
        integ.Evaluate(y,y0,0.2);
    system("pause");
    return 0;
}
Не судите строго я пробую. Как правильно передать массив через указатель. например переменную можно так
C++
1
2
3
void f(*c)
 
f(&c)
И всё Чётко!! а с массивом как?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2016, 21:55
Ответы с готовыми решениями:

Как правильно передать в функцию указатель на двумерный массив?
Сабж #include &lt;windows.h&gt; #include &lt;stdio.h&gt; using namespace std; //ОТ безысходности сделал...

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

Как правильно передать указатель на структуру, и правильно ее использовать
Я планирую сделать сортировку, но компилятор начал ругаться &quot;Нет существует подходящей функции...

Не знаю как правильно передать указатель
В общем для начала приложу код ( не пугайтесь , что придется много читать , из этого кода изучить...

5
Диссидент
Эксперт C
27707 / 17325 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
17.09.2016, 21:59 2
Цитата Сообщение от icegas Посмотреть сообщение
а с массивом как?
C++
1
2
3
4
5
6
void f(int *m, int n);
 
main()
 int Mas[10];
 ...
 f(Mas, 10);
Добавлено через 1 минуту
Можно еще и так:
C++
1
f(&Mas[0], 10);
Но мне первый вариант нравится больше.
1
0 / 0 / 1
Регистрация: 12.10.2015
Сообщений: 8
17.09.2016, 22:02  [ТС] 3
а ещё как сделать так чтобы обьект был доступен и в main и в классе?

Добавлено через 1 минуту
ну у меня всё равно значения повторяются ;(
0
Диссидент
Эксперт C
27707 / 17325 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
17.09.2016, 22:11 4
C++
1
2
3
4
5
6
7
class A {
  int ms[20];
  ...
};
main()
{ A x;
 for(int i=0; i<20; i++)  x.ms[i]=0;
Но простой учебничек почитать вам было бы не вредно. Все это простейшие конструкции языка.
0
0 / 0 / 1
Регистрация: 12.10.2015
Сообщений: 8
18.09.2016, 11:50  [ТС] 5
да нет я про то чтобы обьект AMathModel можно было вызвать в классе integrator через main както я через указатели делал, этот грамотный вариант,но забыл( и как например передать в main массив такой чтобы он изменился в процедуре интегратора так чтобы преданные значения изменились сначала в Процедуре Mathmodel и чтобы они менялись а не чтобы копии передавались а переменные доступные в main тоже менялись?
0
Модератор
Эксперт CЭксперт С++
5286 / 2373 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
18.09.2016, 12:17 6
Лучший ответ Сообщение было отмечено icegas как решение

Решение

icegas, попался! Вот для тебя-то я всё это и собирал
3
18.09.2016, 12:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.09.2016, 12:17
Помогаю со студенческими работами здесь

Как правильно передать указатель this в сторонний класс?
Вот файлы: // Field.cpp #include &quot;Field.hpp&quot; Field::Field(void) { attacked = 0; ...

Не могу понять, как правильно передать указатель на объект в файл
Есть вектор v, который надо отсортировать. Есть класс MergeSort, который это должен делать, он...

Как передать двойной указатель не через ссылку?
Не выводит значение двойного указателя. Скорее всего он уничтожается при выходе из функции, а как...

Как передать указатель на функцию через метод класса ?
typedef void (*FuncCallback)(float* flValue); Пробовал по всякому и ни как: Class.CallFunc...


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

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