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

В произвольной матрице A [ N ][ M ] поменять местами в каждой строке минимальный и максимальный элементы - C++

Восстановить пароль Регистрация
 
DiDels
Сообщений: n/a
17.12.2012, 08:31     В произвольной матрице A [ N ][ M ] поменять местами в каждой строке минимальный и максимальный элементы #1
Здраствуйте,помогите пожалуйста с кодом для данной задачи: В произвольной матрице A [ N ][ M ] поменять местами в каждой строке минимальный и максимальный элементы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2012, 08:31     В произвольной матрице A [ N ][ M ] поменять местами в каждой строке минимальный и максимальный элементы
Посмотрите здесь:

C++ Поменять местами максимальный и минимальный элементы
C++ В прямоугольной матрице размера m*n в каждой строке поменять местами первый и минимальный элементы.
C++ В матрице поменять местами в каждом столбце минимальный и максимальный элементы
C++ В двумерном массиве размерностью nxm поменять местами минимальный и максимальный элементы каждой строки
Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом C++
C++ Массивы. Найти в матрице максимальный и минимальный элементы, поменять местами строки, в которых они расположены
C++ Поменять в матрице местами максимальный и минимальный элементы каждой строки
Поменять местами в каждой строке матрицы минимальный и максимальный элементы, подскажите ошибки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
17.12.2012, 08:50     В произвольной матрице A [ N ][ M ] поменять местами в каждой строке минимальный и максимальный элементы #2
Где ваши наработки?
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
17.12.2012, 09:08     В произвольной матрице A [ N ][ M ] поменять местами в каждой строке минимальный и максимальный элементы #3
Цитата Сообщение от Пaтрик Посмотреть сообщение
Где ваши наработки?
Какие еще наработки? Тут же "помочь" означает "сделать за".

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
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <iomanip>
 
bool findMinimum(int a, int b) { return a < b; };
bool findMaximum(int a, int b) { return a > b; };
 
int *find(int *begin, int *end, bool (*comparator)(int, int)) {
  if (begin == end) return begin;
  int *minimum = begin++;
  while (begin != end) {
    if (comparator(*begin, *minimum))
      minimum = begin;
    ++begin;
  }
  return minimum;
};
 
void printRow(int *begin, int *end) {
  while (begin != end)
    std::cout << std::setw(3) << *begin++;
};
 
void printMatrix(int **vector, int height, int width) {
  for (int **begin = vector; begin != vector + height; ++begin) {
    printRow(*begin, *begin + width);
    std::cout << std::endl;
  }
  std::cout << std::endl;
};
 
void swap(int &a, int &b) {
  int c = a;
  a = b;
  b = c;
}
 
int main(int argc, char *argv[]) {
  srand(time(0));
 
  const size_t width = 10 + rand() % 5;
  const size_t height = 10 + rand() % 5;
  
  int **vector = new int*[height];
  for (int **i = vector; i < vector + height; ++i) {
    *i = new int[width];
    for (int *j = *i; j < *i + width; ++j)
      *j = rand() % 25;
  }
 
  printMatrix(vector, height, width);
 
  for (int **begin = vector; begin != vector + height; ++begin) {
    int *minimum = find(*begin, *begin + width, findMinimum);
    int *maximum = find(*begin, *begin + width, findMaximum);
    swap(*minimum, *maximum);
  }
  
  printMatrix(vector, height, width);
 
  return 0;
}
Yandex
Объявления
17.12.2012, 09:08     В произвольной матрице A [ N ][ M ] поменять местами в каждой строке минимальный и максимальный элементы
Ответ Создать тему
Опции темы

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