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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ знак амперсанда http://www.cyberforum.ru/cpp-beginners/thread439768.html
Здравствуйте! Не нашел нигде как считать знак амперсанда. вот код: if (!strcmp(argv, "&")) вот здесь он не читает знак & пробовал "\&", "/&", "&&"
C++ Шаблонные класы При выполнении задания требуется создать шаблонные классы для работы с векторами и матрицами, содержащими элементы произвольного типа. Выполнение задание следует осуществлять с учетом следующих... http://www.cyberforum.ru/cpp-beginners/thread439732.html
C++ Требуется доработка программы.
Программа упорядочивает матрицу по возрастанию одинаковых эл-в в строке. Требуется доработка: Некорректно считает повторяющиеся нули, а так же если в разных строках повторяется одни и теже числа...
C++ Написать функцию для вычисления суммы элементов n квадратных матриц, которые расположены ниже главной диагонали.
Вместо n взял две матрицы. Ошибка в 47-й и 49-й строках. Как правильно передать квадратную матрицу в функцию? #include <iostream> #include <stdio.h> #include <stdlib.h> #include <time.h> ...
C++ Длина отрезков http://www.cyberforum.ru/cpp-beginners/thread439691.html
Составить программу для определения, который из двух отрезков на плоскости более длинный. Координаты концов отрезков вводит пользователь из клавиатуры. Вот моя программа, но в ней какая-то ошибка......
C++ Структура с именем ORDER Структуры подробнее

Показать сообщение отдельно
ejjjik
8 / 8 / 0
Регистрация: 06.06.2010
Сообщений: 25
02.02.2012, 21:38
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;
            }
        }
    }
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru