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

Двумерный массив как параметр функции

05.06.2012, 20:43. Показов 2138. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть такая функция, загружающая элементы из бинарного файла в массив
C++
1
bool m1[10][10]
:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void loadfromfile(char *filename, int col, int row) 
{
  FILE *f = NULL;
  f = fopen(filename, "rb");
  for (int j = 0; j < col; j++)
  {
    int result = fread(m1[j], sizeof(m1), sizeof(bool), f);
    fseek(f, 2, SEEK_CUR);
    for (int i = 0; i < row; i++)
    {
      m1[j][i] = m1[j][i] - 48;
    }
  }
  fclose (f);
}
Не получается ее изменить, чтобы использовать 4-тым параметром статический массив другой размерности.
Например,
C++
1
loadfromfile("filename", 5, 5, m2);
.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2012, 20:43
Ответы с готовыми решениями:

Двумерный массив как параметр в функцию
Здравствуйте форумчане. Есть довольно не простой вопрос, но крайне необходимо найти на него...

Массив, как параметр функции
Здравствуйте, не могу понять, в чем ошибка. Написать функцию, которая вычисляет для двумерного...

Динамический массив как параметр функции
Господа, прошу Вас помочь с функцией. Собственно говоря, необходимо с помощью функции заполнить...

Функция - шаблон ,параметр - двумерный массив типа Т .
Как правильно прописать в параметры функции двумерный массив типа Т ?(шаблонная функция) Видел...

3
85 / 33 / 12
Регистрация: 12.03.2011
Сообщений: 234
Записей в блоге: 2
06.06.2012, 02:43 2
как вариант можно рассмотреть кокой размерности у нас этот 4 параметр если простой массив то
int* mass, 2-й int** mass (причем тот масив на который мы будем указывать является массивом указателей), 3-й int*** mass и т.д.
0
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 36
06.06.2012, 09:05  [ТС] 3
На примере двух статических массивов m1[10][10], m2[5][5], обясните, пожалуйста...
0
85 / 33 / 12
Регистрация: 12.03.2011
Сообщений: 234
Записей в блоге: 2
09.06.2012, 08:17 4
тут есть 2 варианта, но цель 1
1 вариант:
возьмем для массива m1.
Тебе нужно сделать массив указателей для m1.
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 <iostream>
using namespace std;
 
void loadfromfile(char *filename, int col, int row, bool **mass)
{
    // ... Код функции ...
}
 
 
int main(void)
{
    bool m1[10][10] = {0};
 
    bool *mass[10];
    for(int i = 0; i < 10; i++)
    {
        mass[i] = new bool[10];
        for(int j = 0; j < 10; j++)
        {
            mass[i][j] = m1[i][j];
        }
    }
 
    loadfromfile("filename", 5, 5, mass);
 
    system("PAUSE");
    return 0;
}
2 вариан:
возьмем для массива m2.
Тебе нужно сделать динамический 2х мерный массив для m2.
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
#include <iostream>
using namespace std;
 
void loadfromfile(char *filename, int col, int row, bool **mass)
{
    // ... Код функции ...
}
 
 
int main(void)
{
    bool m2[5][5] = {0};
 
    bool **mass = NULL;
 
    mass = new bool*[5];
 
    for(int i = 0; i < 5; i++)
    {
        mass[i] = new bool[5];
        for(int j = 0; j < 5; j++)
        {
            mass[i][j] = m2[i][j];
        }
    }
 
    loadfromfile("filename", 5, 5, mass);
 
    system("PAUSE");
    return 0;
}
1
09.06.2012, 08:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2012, 08:17
Помогаю со студенческими работами здесь

Как вернуть двумерный массив из функции?
//Программа меняет столбцы в массиве. последний столбец и столбец, содержащий минимальный по...

Как передать двумерный массив функции?
Уважаемые форумчане, подскажите пожалуйста как передать двумерный массив в функцию? Как то самому...

Как создать динамический двумерный массив с использованием функции malloc?
Я создаю динамический двумерный массив вот так: int **arr = (int**)malloc(m*sizeof(int*));...

Как вернуть из функции ссылку на статически создаваемый двумерный массив?
foo(...){ static int Arr return Arr; } int ((foo)(const int m)) //Неверно

Двухмерный массив как параметр функции
Всем здравствуйте. Для одномерного массива - параметра функции всё компилируется. Вот пример:...

Двумерный массив как неизменяемый параметр функции
Всем здравствуйте. В случае с одномерным массивом ясно: function FuncName(const val: array of...


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

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