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

Массив: Описать функцию swap(A,B), меняющую местами максимальные элементы матриц А и В. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переставить строки матрицы в порядке увеличения сумм элементов http://www.cyberforum.ru/cpp-beginners/thread853808.html
Ребят помогите,нужно переставить строки массива в порядке увеличения сумм элементов#include <stdio.h> #include <stdlib.h> int main() { int m,n,i,j; printf("VVedite m = "); scanf("%i",&m); printf("\n VVedite n= "); scanf("%d",&n);
C++ Метод простых итераций! опять я ... и опять нужно помочь перевести на язык С++...Заранее спасибо... Прога на Паскале... Uses Crt; Var Eps,X0,Y0,X1,Y1,T1,T2,D:real; key:char; label 10; Begin textbackground(blue); Clrscr; http://www.cyberforum.ru/cpp-beginners/thread853801.html
Пересечения круга и отрезка C++
Нужно сделать функцию пересечения кола и отрезка, известны координаты двух точек отрезка, координаты центра кола и радиус.
Метод обратной матрицы C++
Я писал свою программу давно на Паскале.. щас же мне она нужна на языке С++... може кто поможет перевести на С? заранее спасибо...всех с праздниками ( и пожалуйста напишите комментарии)...)) Вот прога на Паскале... program obr_matrica; var a1,a,c:array of real; b,x:array of real; j,i,n,k:integer;s,s1:real; begin writeln('Введите n'); read(n);
C++ выделение из строки s m слов, начиная от слова номер n http://www.cyberforum.ru/cpp-beginners/thread853773.html
выделение из строки s m слов, начиная от слова номер n. без использования библиотеки <string.h>
C++ Замена символа Здравствуйте!!! помогите решить задачку! Дано строка символов оттуда надо убрать букву "А" и вместо буквы "Е" заменить буквой "Э". Заранее СПАСИБО! подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
02.05.2013, 00:55     Массив: Описать функцию swap(A,B), меняющую местами максимальные элементы матриц А и В.
Мне нравятся такие формулировки задания.

Цитата Сообщение от herzen2011 Посмотреть сообщение
Описать функцию swap(A,B),
О'кей! Как два пальца об асфальт!
C++
1
2
3
4
5
void swap(int &a, int &b) {
  int c = a;
  a = b;
  b = c;
}
Ха, я почти закончил!

Цитата Сообщение от herzen2011 Посмотреть сообщение
меняющую местами максимальные элементы матриц А и В.
Эээ... Теперь надо создать две матрицы, заполнить, найти максимальные элементы и поменять местами... Ой-йооо...

Офигеть, формулировки заданий.

Добавлено через 16 минут
Цитата Сообщение от herzen2011 Посмотреть сообщение
Как нужно исправить чтобы заработало?
Ошибок столько, что исправив каждую просто получим совершенно другой код.
Честно говоря, лошадке настолько плохо, что лучше пристрелить, чтоб не мучилась.

Вот вам новая, если покатит.
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
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <iomanip>
 
int **createMatrix(int size) {
  int **result = new int*[size];
  for (int i = 0; i < size; ++i) {
    result[i] = new int[size];
  }
  return result;
}
 
void deleteMatrix(int **matrix, int size) {
  for (int i = 0; i < size; ++i) {
    delete [] matrix[i];
  }
  delete [] matrix;
}
 
int **fillRandom(int **matrix, int size, int max) {
  for (int i = 0; i < size; ++i) {
    for (int j = 0; j < size; ++j) {
      matrix[i][j] = rand() % max;
    }
  }
  return matrix;
}
 
int **printMatrix(int **matrix, int size) {
  for (int i = 0; i < size; ++i) {
    for (int j = 0; j < size; ++j) {
      std::cout << std::setw(2) << matrix[i][j] << " ";
    }
    std::cout << std::endl;
  }
  return matrix;
}
 
int &findMaximum(int **matrix, int size) {
  int *result = &matrix[0][0];
  for (int i = 0; i < size; ++i) {
    for (int j = 0; j < size; ++j) {
      if (*result < matrix[i][j]) {
        result = &matrix[i][j];
      }
    }
  }
  return *result;
}
 
void swap(int &a, int &b) {
  int c = a;
  a = b;
  b = c;
}
 
int main(int argc, char *argv[]) {
  srand(time(0));
 
  int sizeA = 5;
  int sizeB = 4;
 
  int **a = fillRandom(createMatrix(sizeA), sizeA, 10);
  int **b = fillRandom(createMatrix(sizeB), sizeB, 100);
 
  printMatrix(a, sizeA);
  int &maximumA = findMaximum(a, sizeA);
  std::cout << "Maximum = " << maximumA << std::endl << std::endl;
  
  printMatrix(b, sizeB);
  int &maximumB = findMaximum(b, sizeB);
  std::cout << "Maximum = " << maximumB << std::endl << std::endl;
 
  swap(maximumA, maximumB);
 
  printMatrix(a, sizeA);
  std::cout << std::endl;
  printMatrix(b, sizeB);
 
  deleteMatrix(a, sizeA);
  deleteMatrix(b, sizeB);
  return 0;
}
 
Текущее время: 17:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru