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

В квадратной матрице найти максимальный элемент для каждой строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить (1-sin0.1)+(1+sin0.2)+...+(1+sin1.0). http://www.cyberforum.ru/cpp-beginners/thread22878.html
//Вычислить (1-sin0.1)+(1+sin0.2)+...+(1+sin1.0). #include <iostream> #include <math.h> #include <conio.h> float a=0,n; //задание типов переменных int i; int main() {
C++ В целочисленной матрице указать индексы всех элементов, имеющих наибольшее значение в столбцах //2.27. В целочисленной матрице порядка n х n указать индексы всех элементов, имеющих наибольшее значение в столбцах. #include <math.h> #include <iostream> #include <conio.h> using namespace std; struct MAX http://www.cyberforum.ru/cpp-beginners/thread22868.html
C++ Реестр
Не могу открыть реестр пишет заблокировано администратором
Работа с Класами в С++ C++
Люди виручайте есть такое задание: Написати клас для ефективної роботи з рядками, дозволяючий форматувати і порівнювати рядки, зберігати в рядках числові значення і витягувати їх. Для цього необхідно реалізувати: § переобтяжені оператори привласнення і конкатенації; § операції порівняння і приведення типів; § перетворення в число будь-якого типу; § висновок...
C++ Вычислить значения функции. http://www.cyberforum.ru/cpp-beginners/thread22864.html
Помогите, кто может! Задача: 1. Вычислить значение функции y=(n-1)(n+1)/(pow(x,n-1)*n!) n изменяется от 2 до бесконечности, с точностью e=0.0001 , x изменяется от 2 до 10 с шагом 0.5. Вычисление у оформить как функцию, результаты вывести в виде таблицы. В работе использовать вычисления по рекуррентной последовательности. Понимаю, что должны быть 2 вложенных условия, но что-то не...
C++ Найти среднее арифметическое элементов массива Даны вещественные числа а, а,..., а. Преобразовать последовательность следующим образом: а, a, a, а, а также найти среднее арифметическое элементов данного массива. Задача из курсовой по возможности накидайте коменты... Добавлено через 8 часов 10 минут 2 секунды Ужас, кто разбиратся, хоть алгоритм намекните :) Добавлено через 16 минут 53 секунды подробнее

Показать сообщение отдельно
ISergey
Maniac
Эксперт С++
1347 / 880 / 52
Регистрация: 02.01.2009
Сообщений: 2,645
Записей в блоге: 1
10.02.2009, 00:12     В квадратной матрице найти максимальный элемент для каждой строки
Вот решение (С++)
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
#include <iostream>
using namespace std;
 
int getMaxMinElem(int*,bool);//true->max, false -> min
int **arrCreate(const int,const int);
void arrFree(int**);
void arrOut(int**);
void arrInput(int**);
 
int main()
{
    const int row = 5;
    const int col = 5;
    int sum   = 0;
    int xmin  = 0;
 
    int **arr = arrCreate(row,col);
 
    arrInput(arr); cout<<endl;
    arrOut(arr);   cout<<endl;
 
    sum  = getMaxMinElem(arr[0],true);
    xmin = getMaxMinElem(arr[0],false);
 
    for(int i = 1; i < row; i++)//!i = 1
    {
        sum += getMaxMinElem(arr[i],true);
 
        if(xmin > getMaxMinElem(arr[i],false))
            xmin = getMaxMinElem(arr[i],false); 
    }
 
    cout<<"Sum max elements: "<<sum<<endl;
    cout<<"Min element: "<<xmin<<endl;
    arrFree(arr);
    return 0;
}
 
int getMaxMinElem(int *arr,bool maxmin)
{
    int alen = static_cast<int>(_msize(arr)/sizeof(int));
    int _maxmin = arr[0];
    for(int i = 1; i < alen; ++i)//!i = 1;
    {
        if(maxmin)
        {
            if(_maxmin < arr[i])
                _maxmin = arr[i]; //max elem
        }
        else
        {
            if(_maxmin > arr[i])
                _maxmin = arr[i]; //min elem
        }
    }
    return _maxmin;
}
 
int **arrCreate(const int row,const int col)
{
    if((row > 0))
    {
        int **arr = new int*[row];
        for(int i = 0; i < row; ++i)
        {
            arr[i] = new int[col];
        }
        return arr;
    }
    else
        return 0;
}
void arrFree(int **arr)
{
    if(arr != 0)
    {
        int lenrow = static_cast<int>(_msize(arr)/sizeof(int));
        for(int i = 0; i < lenrow; ++i)
            delete[] arr[i];
        delete[] arr;
        arr = 0;
    }
}
void arrOut(int **arr)
{
    if(arr != 0)
    {
        int lenrow  = static_cast<int>(_msize(arr)/sizeof(int));
        int lencol  = static_cast<int>(_msize(arr[0])/sizeof(int));
        for(int i = 0; i < lenrow; ++i)
        {
            cout<<"[ ";
            for(int j = 0; j < lencol; ++j)
                cout<<arr[i][j]<<" ";
            cout<<"]"<<endl;
        }
    }
} 
 
void arrInput(int **arr)
{
    if(arr != 0)
    {
        int lenrow  = static_cast<int>(_msize(arr)/sizeof(int));
        int lencol  = static_cast<int>(_msize(arr[0])/sizeof(int));
        for(int i = 0; i < lenrow; ++i)
            for(int j = 0; j < lencol; ++j)
            {
                cout<<"arr["<<i<<"]"<<"["<<j<<"] = ";
                cin>>arr[i][j];
            }
    }
}
 
Текущее время: 12:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru