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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
slashkinks
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 14
#1

работа с функциями , С++ - C++

30.11.2012, 09:53. Просмотров 454. Ответов 5
Метки нет (Все метки)

Написать функцию для вычисления максимального значения элементов главной диагонали матрицы целых чисел a[5][5].

1. Массивы и их размеры передавать в качестве параметров функций.
2. Осуществить передачу параметров по значению и по ссылке.
3. Вызвать функцию, используя указатель на нее.


помогите пожалуйста с заданием , можно не всю прогу а лишь отдельные её части. Заранее большая благодарность
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2012, 09:53     работа с функциями , С++
Посмотрите здесь:

C++ Работа с функциями
C++ Работа с функциями
C++ Работа с функциями..!
работа с функциями в С++ !! C++
работа с функциями C++
Работа с функциями C++
Работа с функциями C++
Работа с функциями C++
Работа с функциями C++
Работа с функциями C++
C++ Работа с функциями

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ZubSam
12 / 12 / 1
Регистрация: 24.03.2012
Сообщений: 238
30.11.2012, 10:38     работа с функциями , С++ #2
Цитата Сообщение от slashkinks Посмотреть сообщение
Написать функцию для вычисления максимального значения элементов главной диагонали матрицы
Вы имели ввиду вычислить наибольший элемент по главной диагонали, или что?
slashkinks
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 14
30.11.2012, 11:44  [ТС]     работа с функциями , С++ #3
да именно это
v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
30.11.2012, 11:53     работа с функциями , С++ #4
функцию можно и так сделать:
C++
1
2
3
4
5
6
7
8
9
10
int MaxA(int A[5][5])
{
    int maximum = A[0][0];
 
    for (int i=1; i<5; i++)
        if (A[i][i] > maximum)
            maximum = A[i][i];
 
    return maximum;
}
slashkinks
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 14
30.11.2012, 12:05  [ТС]     работа с функциями , С++ #5
простую функцию я уже написал , я не знаю как 2 и 3-й пункты сделать

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
int maximum(int matr[n][m])
{
    int max = matr[0][0];
    for(int i = 0; i < n; i++ ){
        for(int j = 0; j < m; j++ ){    
            if (i==j && matr[i][j]>max)
                max=matr[i][j];         
        }
    }
    return max;
ZubSam
12 / 12 / 1
Регистрация: 24.03.2012
Сообщений: 238
01.12.2012, 18:48     работа с функциями , С++ #6
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
#include <iostream>
 
using namespace std;
 
int f_biggest(int**, int);
 
int main(){
 
int sum=0;
 
int x;
 
int n=0;
 
cin>>n;
 
int **arr = new int*[n];
 
for(int i=0;i<n;i++){
 
arr[i] = new int [n];
 
}
 
for(int i=0;i<n;i++){
 
for(int j=0;j<n;j++){
 
cin>>arr[i][j];
 
}
 
}
x=f_biggest(arr,n);
 
cout<<x<<endl;
 
system("pause");
 
return 0;
 
}
 
 
int f_biggest(int**arr, int n){
 
int x=0;
 
for(int i=0;i<n;i++){
 
for(int j=0;j<n;j++){
 
x=arr[0][0];
 
if(i==j){
 
if(x<arr[i][j]){
 
x=arr[i][j];
 
}
 
}
 
}
 
}
 
return x;
 
}
там правда вызов функции не через поинтеры идет

Добавлено через 2 часа 3 минуты
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
#include <iostream>
 
using namespace std;
 
int* f_biggest(int**, int);
 
int main(){
 
int sum=0;
 
int *x=0;
 
int n=0;
 
cin>>n;
 
int **arr = new int*[n];
 
for(int i=0;i<n;i++){
 
arr[i] = new int [n];
 
}
 
for(int i=0;i<n;i++){
 
for(int j=0;j<n;j++){
 
cin>>arr[i][j];
 
}
 
}
x=f_biggest(arr,n);
 
cout<<*x<<endl;
 
system("pause");
 
return 0;
 
}
 
 
int* f_biggest(int**arr, int n){
 
int x;
 
for(int i=0;i<n;i++){
 
for(int j=0;j<n;j++){
 
x=arr[0][0];
 
if(i==j){
 
if(x<arr[i][j]){
 
x=arr[i][j];
 
}
 
}
 
}
 
}
 
return &x;
 
}
вот вроде как по всем трем пунктам подходит )
Yandex
Объявления
01.12.2012, 18:48     работа с функциями , С++
Ответ Создать тему
Опции темы

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