Форум программистов, компьютерный форум CyberForum.ru

Передача двумерного массива, как параметра в функцию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функцию, формирующая одномерный массив http://www.cyberforum.ru/cpp-beginners/thread535309.html
Написать функцию формирующую одномерный массив, состоящий из абсолютных значений минимальных элементов каждого столбца прямоугольной матрицы 1.написать пример обращения этой фунцкии
C++ Лабиринт с++ Есть код. только мне не понятен алгоритм который работает в bool PathExists(Labyrinth& lab, int y1, int x1, int y2, int x2) { и ниже. напишите коменты и объясните понятнее а вот и весь код работает он так. задается размер лабиринта. рисуется. "." проходы, "#" стены. http://www.cyberforum.ru/cpp-beginners/thread535295.html
C++ Проблема с массивом. Выводится только один элемент матрицы.
Здравствуйте. Программа должна считывать данные из файла (матрицу 128х128), записывать их в двумерный массив и выводить на экран. Я столкнулась с проблемой того, что программа выводит лишь один элемент. Как можно это исправить? Заранее спасибо. Код программы:#include <iostream> #include <stdio.h> #include <conio.h>
C++ Заполнение массива структур из файла
Здравствуйте появилась проблема - никак не могу найти, как заполнить массив структур из файла. Как заполнить файл я разобрался, а наоборот не получается. Вот пример как я заполнял файл : #include<iostream> #include <fstream> #include <stdio.h> using namespace std; struct Magazin { char nomer;
C++ не выводит результат C++ http://www.cyberforum.ru/cpp-beginners/thread535279.html
int _tmain(int argc, _TCHAR* argv) { float x2, y2, z2, r, x1, y1, z1, s; if (x1<0) else if (y1<0) else if (z1<0) else if ( x2>0) else if ( y1>0) else if ( z2>0)
C++ Написать программу, которая находит сумму всех целых нечетных чисел в заданном диапазоне Написать программу, которая находит сумму всех целых нечетных чисел в диапазоне, указанном пользователе. #include <iostream> using namespace std; int main () { int a ,b; int summ = 0; подробнее

Показать сообщение отдельно
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 492
31.03.2012, 20:21     Передача двумерного массива, как параметра в функцию
Вот как получилось,по идее все верно,столбцы сортируются

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
76
77
78
79
80
81
82
83
84
85
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <math.h>
 
 //================Сортируем матрицу и выводим на консоль==================//
void sort_matrix(int** m,int n)
{
int i,j,z,temp;     
printf("\n\n\tSort_Matrica\n\n");
    for( z=0;z<6;z++)
    {
        for( i=0;i<(6-1);i++)
        {
            for( j=0;j<6;j++)
            {
                if (m[i][j]<m[i+1][j]) //i+1, двигаемся по вертикали
                {
                    temp=m[i+1][j]; //
                    m[i+1][j]=m[i][j]; // SWAP (меняем местами)
                    m[i][j]=temp;
                }
            }
        }
    }
    for( i=0;i<6;i++)
    {
        for( j=0;j<6;j++)
        {
            printf(" %d",m[i][j]);
        }
        printf("\n");
    }   
    return;      
}
 
//============Создание матрицы и вывод на консоль============//
int** sozdat_matrix(int** m,int n)
{
printf("\tMatrica\n\n");
srand(time(NULL));
    for(int i=0;i<6;i++)
    {
        for (int j=0;j<6;j++)
        {
            m[i][j]=(rand()%100);
            printf(" %d",m[i][j]);
        }
        printf("\n");
    }
    return m;    
}
 
//============Выделение памяти============//
int **newMemory(int n)
{
    int **m = (int**)malloc(n*sizeof(int));    //создаем массив и выделем память
    for (int i = 0;i<n;i++)                  //проходимся в цикле по строкам массива
    {
        m[i] = (int*)malloc(n*sizeof(int));//выделем память и подсчитываем размер перевенной n
    }
    return m;
}
 
//============Очистка памяти============//
void freeMemory(int **m, int n)
{
    for (int i = 0;i<n;i++)//проходимся в цикле по строкам массива
    {
        free(m[i]);
    }
    free(m);
}
 
int main()
{
int **m,i,j,z,temp,n=6;
    m = newMemory(n);
    sozdat_matrix(m,n);
    sort_matrix(m,n);
    freeMemory(m,n);
getch();
return 0;
}
 
Текущее время: 02:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru