Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
5 / 5 / 3
Регистрация: 13.10.2009
Сообщений: 543

Передать массив в функцию и вернуть из функции

28.11.2014, 22:34. Показов 1045. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Пытаюсь считать из файлов числа и попарно их перемножить. Проблема в функциях
void EnterMassive и void Multi. В данных функциях, не изменяются массивы и числа которые им передаются. Как это исправить?

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
#include "stdafx.h"
#include <fstream>
#include <iostream>
using namespace std;
 
void EnterMassive(double* Massive, int Count, const string FileName)
{
    const int MasSize = 10;
    double* Mas = (double*)malloc(MasSize * sizeof(double));
    ifstream File(FileName);
    int i = 0, count = 10;
    while (!File.eof())
    {
        File >> Mas[i];
        i++;
        if (i==count)
        {
            double* Array = (double *)malloc((count + MasSize) * sizeof(double));
            count += MasSize;
            memcpy(Array, Mas, count * sizeof(double));
            free(Mas);
            Mas = Array;
        }
    }
    Massive = (double*)malloc(i * sizeof(double));
    memcpy(Massive, Mas, i * sizeof(double));
    Count = i;
    /*for (size_t k = 0; k < i; k++)
    {
        cout << Mas[k]<<endl;
    }*/
    
}
void Multi(double* MasOne, const int CountOne, double* MasTwo, const int CountTwo, double* ResultMas)
{
    double* Mas = (double*)malloc((CountOne * CountTwo) * sizeof(double));
    for (size_t i = 0; i < CountOne * CountTwo; i++)
    {
        for (size_t j = 0; j < CountOne * CountTwo; j++)
        {
            Mas[i, j] = MasOne[i] * MasTwo[j];
        }
    }
    ResultMas = Mas;
}
 
void _tmain()
{
    setlocale(LC_ALL, "rus");
    int CountOne = 0, CountTwo = 0;
    double *MasOne = NULL, *MasTwo = NULL, *ResultMas = NULL;
    EnterMassive(MasOne, CountOne, "C:\\fileone.txt");
    EnterMassive(MasTwo, CountTwo, "C:\\filetwo.txt");
    Multi(MasOne, CountOne, MasTwo, CountTwo, ResultMas);
    for (size_t i = 0; i < CountOne*CountTwo; i++)
    {
        for (size_t j = 0; j < CountOne*CountTwo; j++)
        {
            cout << ResultMas[i, j] << " ";
        }
    }
    system("pause");
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.11.2014, 22:34
Ответы с готовыми решениями:

Не могу разобраться как передать корректно передать массив из функции в функцию
//--------------------------------------------------------------------------- #pragma hdrstop ...

Как передать массив структур в функцию в качестве параметра, чтобы изменения в функции меняли исходный массив?
Допустим есть структура struct Base { int a; int b; int c; }; В основном методе main() объявим массив...

Как передать динамический массив из функции в другую функцию
Здравствуйте.Не могу передать массив из функции в функцию сортировки. Подскажите как переделать программу : #include...

1
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
29.11.2014, 00:43
double* Massive double*& Massive
Алсо, научиться создавать массив оператором new.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.11.2014, 00:43
Помогаю со студенческими работами здесь

Передача в функцию массива, и в функции передать массив не получаеться
Доброго дня. Вот в чем дело: Есть структура struct Cell { Point position; image picture; color clr; };

Работа с файлом (передать указатель на файл в функцию, вернуть указатель на файл из функции)
Подскажите как передать указатель на файл в функцию, как вернуть указатель на файл из функции. void Open() // из этой функции вернуть...

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

Как передать двойной указатель в функцию и вернуть его
Как передать двойной указатель в функция и вернуть его? В данном случае выдает ошибку :error C2440: =: невозможно преобразовать...

как передать структуру в функцию, чтобы после выполнения функции он(массив в данном случае) вернулся измененным?
const int size = 256; struct MARKER { char mark; } void processing(MARKER struct_m) { //тут какие-то изменения...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru