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

Использование функций при работе с двумерными массивами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ обращения к указателям http://www.cyberforum.ru/cpp-beginners/thread788664.html
Написать обращения к указателям в глобальной,локальной и охватывающей сетях.
C++ Открытие и закрытие файлов Доброго времени суток! Подскажите пожалуйста: если файл открыть функций fopen , записать тута что-то и при закрытии функцией fclose, данная функция вернет ошибку, то как удалить данный файл? http://www.cyberforum.ru/cpp-beginners/thread788649.html
Поменять местами четные и нечетные символы слова C++
Как поменять местами четные и нечетные символы слова? Заранее спс!
C++ Программирование линейных алгоритмов с использованием функций инициализации set() и вывода результатов print()
Пользовательский класс должен содержать необходимые элементы-данные, метод установки их начальных значений: Void set(double X, …); метод печати: Void print(void); метод, решающий поставленную задачу: Void Run(void); Код методов – вне пространства определения класса. Программа должна включать в себя статический и динамический способы создания объектов, и для каждого объекта использовать...
C++ Указатели и функции http://www.cyberforum.ru/cpp-beginners/thread788616.html
Доброго времени суток. Прошу помощи у пользователей данного форума) Значит стоит такая вот задача: В командной строке задаются числовые значения. Вывести среднее арифметическое для всех чисел (нечисловые аргументы игнорировать). Помогите ее решить и желательно хотя бы немного объяснить ее. А то что-то ничего не получается..
C++ Поиск временных файлов в каталоге, и их удаление Вообщем нужно написать программу для поиска временных файлов в каталоге, ну и по итогу их удалить. И если есть возможно сделать поиск не используя библиотеку windows.h. Буду благодарна за любые кусочки кода по теме) подробнее

Показать сообщение отдельно
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
18.02.2013, 02:13     Использование функций при работе с двумерными массивами
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <iostream>
#include <time.h>
 
using namespace std;
 
/*Выделение памяти для массива*/
void funcinit(double **(&A),const int N,const int M)
{
    A=new double*[N];
    for (int i=0;i<N;i++) A[i]=new double[M];
}
 
/*Очистка памяти*/
void funcfree(double **(&A), const int N, const int M)
{
   for (int i=0;i<N;i++) delete []A[i];
   delete []A;
   A=NULL;
}
 
/*Заполнение массива*/
 void funcfill(double  **(&A),const int N,const int M)
 {
     srand(time(NULL));
     for (int i=0;i<N;i++)
     {
         for (int j=0;j<M;j++)
         {
             A[i][j]=(rand()%100-50);
         }
     }
 }
 
/*Вывод массива на экран*/
 void funcprint(double **A,const int N,const int M)
 {
     for (int i=0;i<N;i++)
     {
         for (int j=0;j<M;j++)
         {
             cout<<A[i][j]<<"\t";
         }
         cout<<"\n";
     }
 }
 
/*Обнулить все четные столбцы и нечетные строки*/
 void funcnull(double **(&A),const int N,const int M)
 {
         for (int i=0;i<N;i++)
     {
         for (int j=0;j<M;j++)
         {
             if (!(i%2)) A[i][j]=0;
             if (j%2) A[i][j]=0;
         }
     }
 }
 
/*В полученной матрице отсортировать по возрастанию каждую строку, оставляя нули на своих местах.*/
void funcsort(const int k,double **(&Arr),const int N)
{
    
    for (int i=1;i<N;i++) 
    {
        for (int j=0;j<N-2;j++)
        {
                  if ((Arr[k][j]>Arr[k][j+2])) swap(Arr[k][j],Arr[k][j+2]); //Если текущий элемент больше следующего, меняем их местами
        }
    }
    
}
 
int main()
{
    system("chcp 1251"); //Это для отображения русских символов при шрифте Lusidia Console
    double **Arr=NULL; //Основной массив
    int N=10,M=20; //Колонки и строки
    cout<<"N == ";cin>>N; //Ввод числа строк
    cout<<"M == ";cin>>M; //Ввод числа колонок
     
 
       funcinit(Arr,N,M); //Выделение памяти
          funcfill(Arr,N,M); //Заполнение массива
 
          cout<<"ИСХОДНЫЙ МАССИВ\n";
          funcprint(Arr,N,M);
         
          cout<<"\nВ массив записаны нули\n\n";
          funcnull(Arr,N,M); //Запись в массив нулей
          funcprint(Arr,N,M); //Вывод массива на экран
 
          cout<<"\nСортированный массив\n";     
        for (int i=1;i<N;i+=2) funcsort(i,Arr,M); //Цикл сортировки массива по строкам
        funcprint(Arr,N,M); //Вывод массива на экран
              
       funcfree(Arr,N,M); //Очистка памяти  
        
       
       cin.get();
       cin.get();
    return 0;
}
 
Текущее время: 11:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru