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

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

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

Описание функции.Никак не сделаю. - C++

21.10.2009, 19:11. Просмотров 766. Ответов 13
Метки нет (Все метки)

Описать функцию repl(A,B) меняющую местами максимальные элементы матриц A и B произвольного порядка.(В каждоцй матрице только один такой элемент!)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2009, 19:11     Описание функции.Никак не сделаю.
Посмотрите здесь:

Функции в c++. никак не разобраться с задачками - C++
можете объяснить решения нескольких задач? застрял на передаче параметров по ссылке. а также : возврат результата по ссылке. не...

Никак не могу исправить ошибку, задача на функции - C++
Суть задачи. С помощью рекурсивной функции, не возвращающей значение, замените в данной строке все слова, начинающиеся с заглавной буквы,...

Описание функции - C++
Доброго времени суток! Начал учить с++, добрался до функций, нашел тут задачку на описание функции...Немного не понимаю метода решения и...

описание функции - C++
пожалуйста помогите с описанием функции и прокомментируйте если не трудно!!!Обращаюсь к вам друзья!!! аor (s=0, sn = X, n = 1; fabs(sn) >...

описание функции - C++
Описать функцию mmax(x,y), которая присваивает первому парамтру большее,а второму - меньшее из значений x и y.Используя эту...

Описание функции - C++
Описание функции состоит из?

Описание функции - C++
Помогите написать код функции!? Задача: Программа. Описать функцию f (s, n, x), определяющую, какой символ чаще других встречается в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
21.10.2009, 20:06     Описание функции.Никак не сделаю. #2
C++
1
2
3
4
matr1[coord_max_matr1_i][coord_max_matr1_j] ^=
matr2[coord_max_matr2_i][coord_max_matr2_j] ^= 
matr1[coord_max_matr1_i][coord_max_matr1_j] ^=
matr2[coord_max_matr2_i][coord_max_matr2_j];
А максимумы думаю сам найдеш?
Max777
0 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 31
21.10.2009, 20:15  [ТС]     Описание функции.Никак не сделаю. #3
Цитата Сообщение от M128K145 Посмотреть сообщение
А максимумы думаю сам найдеш?
Да,этоне проблема.


Цитата Сообщение от M128K145 Посмотреть сообщение
^=
что означает эта операция,или что это вообще?
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
21.10.2009, 21:18     Описание функции.Никак не сделаю. #4
обмен XOR'ом
http://ru.wikipedia.org/wiki/%D0%90%...98%D0%9B%D0%98
Max777
0 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 31
21.10.2009, 21:36  [ТС]     Описание функции.Никак не сделаю. #5
оооо спасибо!
Max777
0 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 31
24.10.2009, 20:41  [ТС]     Описание функции.Никак не сделаю. #6
блин неполучается!как вообще сделать функцию самому?
я пытаюсь сделать,но не работает......
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
24.10.2009, 22:38     Описание функции.Никак не сделаю. #7
Max777, выложи весь код, посмотрим в чем ошибки
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,365
24.10.2009, 22:43     Описание функции.Никак не сделаю. #8
M128K145, предложенный тобою способ:
1. небезопасен, поскольку (на C и C++) приводит к неопределенному поведению программы;
2 и главное - подойдет ли для любых типов элементов матрицы, например, если это матрицы чисел long double ?
Не проще ли использовать std::swap ? Благо, оно специально предусмотрено Стандартом.
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
24.10.2009, 23:48     Описание функции.Никак не сделаю. #9
CheshireCat, он подходит только для целых чисел. Как вариант можно тогда через третью переменную обменивать. На сколько мне известно, то swap работает как раз через третью переменную
Max777
0 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 31
25.10.2009, 17:35  [ТС]     Описание функции.Никак не сделаю. #10
Возможно тут полная чушь написана, ничего лучше не могу придумать, помогите хоть как-то пожалуста)))
Вроде бы всё логично.....но результата нету((((


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
#include <iostream.h>
#include <conio.h>
 
//Прототип функции, меняющей местами максимальные элементы матриц A и B
//произвольного порядка.
 
void Repl(int* A[][], int* B[][])
 
{
int A[n][n], B[m][m], i, j;
 
//Заполнение матриц в цикле посредством генератора случайных чисел.
 
for(i=0; i<n; i++){
for(j=0; j<n; j++){
A[i][j] = rand();
 
cout << "Matrix №1" << endl << A[i][j] << " ";
cout << endl;
}}
 
 
for(i=0; i<m; i++){
for(j=0; j<m; j++){
B[i][j] = rand();
 
cout << "Matrix №2" << endl << B[i][j] << " ";
cout << endl;
}}
 
//Поиск максимальных элементов матриц.
 
int max1 = A[0][0];
for(i=0; i<n; i++){
for(j=0; j<n; j++){
if ((A[i][j]) > max1) max1=A[i][j];
cout << "Max.element of matrix №1: " << max1;
 
}}
 
int max2 = B[0][0];
for(i=0; i<m; i++){
for(j=0; j<m; j++){
if ((B[i][j]) > max2) max2=B[i][j];
cout << "Max.element of matrix №2: " << max2;
 
}}
 
//Обмен максимальных элементов между матрицами.
 
max1 ^= max2 ^= max1 ^= max2;
 
//Вывод результата на экран.
 
for(i=0; i<n; i++){
for(j=0; j<n; j++){
cout << A[i][j] << " ";
cout << endl;
}}
 
for(i=0; i<m; i++){
for(j=0; j<m; j++){
cout << B[i][j] << " ";
cout << endl;
}}
 
 
getch ();
 
 }
 
 void main()
 {
//Вызываем функцию несколько раз.
 Repl(A[8][8],B[13][13]);
 Repl(A[12][12],B[4][4]);
}
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
25.10.2009, 18:28     Описание функции.Никак не сделаю. #11
Max777, ты обмениваешь только выписанные значения, а необходимо обменивать элементы матриц. Смысл написан во втором посте, где тебе необходимы именно индексы максимальных элементов обеих матриц, а не их значения. Вот здесь
C++
1
2
if ((B[i][j]) > max2)
    max2 = B[i][j];
записывай индексы максимума, а не его значение
Max777
0 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 31
25.10.2009, 19:19  [ТС]     Описание функции.Никак не сделаю. #12
ок, попробую.
Ещё вопрос, список типизированных параметров правильно записан?
вот здесь:
C++
1
void Repl(int* A[][], int* B[][])
ошибка имено там вылетает.
Max777
0 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 31
26.10.2009, 13:07  [ТС]     Описание функции.Никак не сделаю. #13
опопоп!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2009, 14:26     Описание функции.Никак не сделаю.
Еще ссылки по теме:

Функции , описание к действием. - C++
Вот вообще сам код по с++ но очень хочеться узнать что к чему. (если можно подробно пожайлуста что к чему, чтобы разобраться.) #include...

Описание функции getopt - C++
Распишите описание функции getopt и её использование с ключами.

Описание функции ltoa - C++
ltoa ( string,10) Это превращение из инт в чар. Что значит параметр 10?

Описание функции ungetch() - C++
Привет всем! Такой вопрос, я наткнулся на функцию ungetch(с), прочитал описание &quot;возвращает символ в буфер&quot; но я не могу понять, как же она...

Описание функции toascii - C++
Здравствуйте. У меня имеются вопросы по следующему фрагменту программы: while((m=fgetc(fin))!=EOF) {m=toascii(m); ...


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

Или воспользуйтесь поиском по форуму:
Max777
0 / 0 / 0
Регистрация: 12.09.2009
Сообщений: 31
27.10.2009, 14:26  [ТС]     Описание функции.Никак не сделаю. #14
ну пожалуйста проверьте код.
или хотя бы 7 строчку кода.
Yandex
Объявления
27.10.2009, 14:26     Описание функции.Никак не сделаю.
Ответ Создать тему
Опции темы

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