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

Напишите 2 проги начинающему - C++

Восстановить пароль Регистрация
 
Nikit@132
Сообщений: n/a
02.02.2012, 18:09     Напишите 2 проги начинающему #1
мне нужно написать 2 проги со статической памятью и с динамическим выделением памяти по этому заданию
На основе исходного двумерного массива С с рабочим
размером n х m сформировать массив B с размером n, i-й
элемент которого будет равняться среднему
арифметическому значению для элементов i-й строки
массива C:
B_i=(∑_(j=0)^(m-1)▒C_j^i )/m
0 . Упорядочить массив B по
возрастанию, используя метод «пузырька». Вывести
массивы B и С на экран.
Массив C должен состоять из целых чисел, массив B –
из вещественных. Значения n и m, а также значения
элементов массива C вводятся пользователем с
клавиатуры.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2012, 18:09     Напишите 2 проги начинающему
Посмотрите здесь:

Подскажите начинающему C++
Начинающему с нуля C++
C++ начинающему в освоении с++
Помогите начинающему C++
C++ Помощь начинающему С++
Советы начинающему C++
Совет начинающему C++
C++ Начинающему

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ejjjik
8 / 8 / 0
Регистрация: 06.06.2010
Сообщений: 25
02.02.2012, 21:38     Напишите 2 проги начинающему #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
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
 
#include <stdlib.h>
#include <iomanip>
using std::setprecision;
using std::fixed;
 
void createArray(int **, int , int );           // заполнить массив указателями
void setArrayC( int **, int , int );            // заполнить массив C значениями
const void prtintArrayC( int **, int , int ); // печать массива
 
template<typename Tarray>
void setArrayB(Tarray *, int **, int , int );   // заполняем массив B
 
template<typename Tarray>
const void printArrayB(Tarray *, int );         // печать массива B
 
template<typename Tarray>
void bubbleSort(Tarray *, int ); // сортировка пузырьком
 
int main()
{
    int nrow = 0; // строка
    int ncol = 0; // столбец
 
    cout << "Input row: ";
    cin >> nrow;
    cout << "Input column: ";
    cin >> ncol;
 
    
    int **arrCPtr = new int *[nrow];    // массив "С"
    createArray(arrCPtr, nrow, ncol); 
    setArrayC(arrCPtr,nrow, ncol);
 
    prtintArrayC(arrCPtr,nrow, ncol);   // печатаем массив С
 
    double *bPtr = new double [nrow];   // создаем массив B
    setArrayB(bPtr, arrCPtr, nrow, ncol);   // заполняем массив B
    printArrayB(bPtr, nrow);    // печатаем массив b
 
    bubbleSort(bPtr, nrow); // сортировка
 
    cout << "\nBubble sort: ";
    printArrayB(bPtr, nrow); // печать массива
 
//////////////////////////////////////////////////
    delete [] bPtr;         // удаляем массив b
    for (int i = 0; i < nrow; i++)
    {
        delete arrCPtr[i];  // удаляем элементы - указатели
    }
    delete [] arrCPtr;      // удаляем сам указатель на массив
//////////////////////////////////////////////////
 
    system("pause");
    return 0;
}
 
void createArray(int **arr, int rows, int columns)
{
    for ( int i = 0; i < rows; i++ )
    {
        arr[i] = new int [columns];
    }
};
 
void setArrayC( int ** arr, int rows, int column)
{
    for ( int i = 0; i < rows; i++ )
    {
        for ( int j = 0; j < column; j++ )
        {
            arr[i][j] = rand()%10;
        }
    }
 
};
 
const void prtintArrayC( int **arr, int rows, int columns )
{
    cout << "\nOutput array C (" 
        << rows << "x" 
        << columns << ")" 
        << endl ;
    for ( int i = 0; i < rows; i++ )
    {
        for ( int j = 0; j < columns; j++ )
        {
            cout << arr[i][j] << ' ';
        }
        cout << endl;
    }
};
 
template<typename Tarray>
void setArrayB(Tarray *arrB, int **arrC, int rows, int columns)
{
    Tarray tmp = 0;
    for ( int i = 0; i < rows; i++ )
    {
        for ( int j = 0; j < columns; j++ )
        {
            tmp += arrC[i][j];
        }
        arrB[i] = tmp / rows;
        tmp = 0;
    }
 
};
 
template<typename Tarray>
const void printArrayB(Tarray *arr, int rows)
{
    cout << "\nOutput array B: " << endl;
    for ( int i = 0; i < rows; i++ )
    {
        cout << setprecision(2) << fixed << arr[i] << ' ';
    }
    cout << endl;
};
 
template<typename Tarray>
void bubbleSort(Tarray *arr, int size) {
    int i, j;
    Tarray tmp;
    for( int i = 0; i < size; i++ ) 
    {           
        for( int j = size - 1; j > i; j-- ) 
        {     
            if ( arr[j-1] > arr[j] ) 
            {
                tmp = arr[ j - 1 ];
                arr[ j - 1 ] = arr[ j ]; 
                arr[ j ] = tmp;
            }
        }
    }
}
Yandex
Объявления
02.02.2012, 21:38     Напишите 2 проги начинающему
Ответ Создать тему
Опции темы

Текущее время: 13:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru