Форум программистов, компьютерный форум, киберфорум
Наши страницы

Функция, принимающая двумерный массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиск символа в массиве http://www.cyberforum.ru/cpp-beginners/thread780645.html
Задача: Дано два линейных символьных массива. Найти наименьший символ среди символов первого массива, который не входит во второй массив. Помогите, пожалуйста.
C++ Не могу найти ошибку Всем здравствуйте. Я являюсь болельщиком Ф1, и решил написать простенькую программку, которая бы суммировала очки за гонку и записывала бы их в файл, но записывается почему-то только одно последнее... http://www.cyberforum.ru/cpp-beginners/thread780643.html
C++ Матрицы инцидентнности и смежности
Помогите написать программу, на входе дан текстовый файл вида: n m v1 u1 v2 u2 ......... vm um где n - количество вершин графа, m - количество ребер, v и u - начальное и конечное...
Работа со звуком в C++ C++
В общем сабж таков : В системе , играется какой либо файл , на каком либо плеере , либо вообще без него ...(Система - шиндоуз 32 - хп).. Надо получить данные частот , играемые в данный момент ... ...
C++ Что делать?(учу C++ и кое что ни понимаю может стоит начать с более "низких языков" например basic) http://www.cyberforum.ru/cpp-beginners/thread780635.html
Всем привет народ вот я учу C++ и кое что ни понимаю может стоит начать с более "низких языков" например basic?
C++ объясните задание. не понимаю формулировку вот собственно оно: 1. Разработать класс "большое десятичное число" в соответствии со следующим заданием: Состояние класса - Целое число определяется его длиной (количество цифр в числе,... подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7508 / 4640 / 699
Регистрация: 29.11.2010
Сообщений: 12,668
06.02.2013, 19:22
Сейчас покажу все способы работы с двум. массивом
1. самый верный на мой взгляд. Позволяет работать с массивами любого размера
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
#include <iostream>
 
void foo(int **A, const int M, const int N)
{
    for (int i=0; i < M; i++)
    {
        for (int j=0; j < N; j++)
            std::cout << A[i][j] << " ";
        std::cout << std::endl;
    }
}
 
 
 
int main()
{
    const int M = 3, N = 4;
    int **arr = new int*[M];
    for (int i=0; i < M; i++)
    {
        arr[i] = new int[N];
        for (int j=0; j < N; j++)
            arr[i][j] = i * N + j;
    }
    foo(arr, M, N);
 
    for (int i=0; i < M; i++)
        delete []arr[i];
    delete []arr;
}
2. Уже работает лишь с конкретными размерами
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
#include <iostream>
 
const int M = 3;
const int N = 4;
 
void foo(int A[M][N])
{
    for (int i=0; i < M; i++)
    {
        for (int j=0; j < N; j++)
            std::cout << A[i][j] << " ";
        std::cout << std::endl;
    }
}
 
 
 
int main()
{
    int arr[M][N];
    for (int i=0; i < M; i++)
        for (int j=0; j < N; j++)
            arr[i][j] = i * N + j;
    foo(arr);
}
3. Похож на первый, но я бы назвал это С-стайл, по моему самый некорректный/недостойный.
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
#include <iostream>
#define M 3
#define N 4
 
void foo(int A[M][N])
{
    for (int i=0; i < M; i++)
    {
        for (int j=0; j < N; j++)
            std::cout << A[i][j] << " ";
        std::cout << std::endl;
    }
}
 
 
 
int main()
{
    int arr[M][N];
    for (int i=0; i < M; i++)
        for (int j=0; j < N; j++)
            arr[i][j] = i * N + j;
    foo(arr);
}
Есть еще вариант с magic number, его я вообще не буду рассматривать, это "вариант-не вариант".
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.