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

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

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

Студворк — интернет-сервис помощи студентам
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)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.09.2016, 21:55
Ответы с готовыми решениями:

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

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

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

5
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
17.09.2016, 21:59
Цитата Сообщение от 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  [ТС]
а ещё как сделать так чтобы обьект был доступен и в main и в классе?

Добавлено через 1 минуту
ну у меня всё равно значения повторяются ;(
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
17.09.2016, 22:11
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  [ТС]
да нет я про то чтобы обьект AMathModel можно было вызвать в классе integrator через main както я через указатели делал, этот грамотный вариант,но забыл( и как например передать в main массив такой чтобы он изменился в процедуре интегратора так чтобы преданные значения изменились сначала в Процедуре Mathmodel и чтобы они менялись а не чтобы копии передавались а переменные доступные в main тоже менялись?
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
18.09.2016, 12:17
Лучший ответ Сообщение было отмечено icegas как решение

Решение

icegas, попался! Вот для тебя-то я всё это и собирал
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.09.2016, 12:17
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru