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

В матрице из действительных чисел поменять местами первую строку и строку, содержащую наименьший элемент матрицы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Заполнить массив числами от 1 до n^2, расположенными по спирали, начиная с левого верхнего угла и продвигаясь по часовой стрелке http://www.cyberforum.ru/cpp-beginners/thread887385.html
Помогите построить задачку на двумерный массив! Заполнить квадратную таблицу размером n*n последовательными целыми числами от 1 до n^2, расположенными по спирали, начиная с левого верхнего угла и продвигаясь по часовой стрелке. Не совсем понятно, как это все реализовать при вводе n самому...
C++ Откомпилируйте приложение пожалуйста По ссылке есть код программы вырезано очень прошу, без смеха и оскорблений всяческих, кто может, пожалуйста реализуйте его в среде программирования, если оно не является ошибочным. Очень надо, пожалуйста. Подавляющее большинство клавиатурных шпионов использует для мониторинга нажатий клавиш hook-процедуру WH_KEYBOARD. Чтобы клавиатурное сообщение не попало в установленную ловушку, достаточно... http://www.cyberforum.ru/cpp-beginners/thread887362.html
C++ Описать функцию f(x) – количество разных простых делителей числа х
Описать функцию f(x) –количество разных простих делителей числа х. Составить програму поиска всех чисел, что имеют k разных простих делителей.
Упорядочить список студентов по среднему баллу и распечатать его C++
На диске имеется файл данных STUDENT.DAT . Упорядочить список студентов по среднему баллу и распечатать его.
C++ Быстрый поиск треугольника, прямоугольника или квадрата маленькой площади http://www.cyberforum.ru/cpp-beginners/thread887326.html
Здравствуйте! задали курсовую. Сроки очень сильно поджимают. Задание - "На заданном множестве точек найти треугольник, прямоугольника, или квадрат с наименьшей площадью. Оптимизировать алгоритм, сократив перебор." Я немножко поискав, нашел проект, он в приложенном файле.Но в нём два минуса. Первый - он только для треугольников, второй - я его вообще не понимаю. Кто может подсказать, что, зачем, и...
C++ Функция добавления элемента в список Мне нужно написать функцию к уже имеющейся программе. Я ввожу К - число "+"-ых элементов списка идущих друг за другом. И элемент L который нужно вставить после К. Нужна помощь. Я внизу выложил мою наработку ( функцию и кнопку которая выводит результат ) посмотрите, что не так. Подскажите пож-ста) int InsEl ( NodePtr p, int K ) { int S = 0; p = q; if ( p == NULL ) return 0; else ... подробнее

Показать сообщение отдельно
MarVaL
С++ Beginner
 Аватар для MarVaL
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
01.06.2013, 20:05     В матрице из действительных чисел поменять местами первую строку и строку, содержащую наименьший элемент матрицы
Цитата Сообщение от GenaForum Посмотреть сообщение
Спасибо большое!!! Я понимаю и так жирно, код написали, но если не сложно можете прокомментировать действия)
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <cstdlib>
#include <ctime>
/* Prototipi */
int** createMatrix(int, int);
void fillMatrix(int**, int, int);
void printMatrix(int **, int, int);
int getIndexOfMinElement(int **, int, int);
void reverseFirstWithMin(int **, int, int);
void deleteMatrix(int **, int);
 
int main() {
  srand(time(0));                                     // Ustanavlivaem "Zerno" dlya randomnih chisel
  int n, m, index;
  std::cout << "n = ";
  std::cin >> n;                                      // Vvod n (n strok)
  std::cout << "m = ";
  std::cin >> m;                                      // Vvod m (m stolbcov)
  int **matrix = createMatrix(n, m);                  // Vizivaem funkciu createMatrix i prisvaivaem ukazatelu matrix rez-tat ee raboti
  fillMatrix(matrix, n, m);                           // zapolnyaem matricu
  printMatrix(matrix, n, m);                          // vivodim matricu
  index = getIndexOfMinElement(matrix, n, m);         // poluchaem index stroki gde nahoditsya minimalnij element
  reverseFirstWithMin(matrix, m, index);              // menyaem mestami
  printMatrix(matrix, n, m);                          // vivodim matricu
  deleteMatrix(matrix, n);                            // osvobojdaem pamyat
  return 0;
}
 
int** createMatrix(int n, int m) {
  int **matrix = new int*[n];                        // videlyaem pamyat pod stroki
  for(int i = 0; i < n; ++i)
    matrix[i] = new int[m];                          // videlyaem pamyat pod stolbci
  return matrix;                                     // vozvrashaem matricu(ukazatel na ukazateli) (ukazatel na stroki)
}
 
void fillMatrix(int **matrix, int n, int m) {
  for(int i = 0; i < n; ++i)                        // zapolnyaem matricu randomnimi chislami [1,9];
    for(int j = 0; j < m; ++j)
      matrix[i][j] = 1 + rand() % 9;
}
 
void printMatrix(int **matrix, int n, int m) {
  std::cout << "Matrix:" << std::endl;
  for(int i = 0; i < n; ++i) {
    for(int j = 0; j < m; ++j)
      std::cout << matrix[i][j] << ' ';               // Vovodim matricu
    std::cout << std::endl;
  }
  std::cout << std::endl;
}
 
int getIndexOfMinElement(int **matrix, int n, int m) {
  int min = matrix[0][1];                            // predpologaem 4to minimalnij element matrix[0][1]    
  int index = 0;                                     // index stroki s minimalnim elementom 0
  for(int i = 0; i < n; ++i) {
    for(int j = 0; j < m; ++j)
      if(min > matrix[i][j]) {                       // Esli min > matrix[i][j] to min = matrix[i][j];
        index = i;                                   // zapominaem index
        min = matrix[i][j];                          // obnovlyaem minimalnij element
      }
  }
  return index;                                     // vozvrashaem index
}
 
void reverseFirstWithMin(int **matrix, int m, int index) {
  if(index == 0)                                    // Esli index = 0 to 
    return;                                        // zakanchivaem rabotu funkcii
  for(int j = 0; j < m; ++j) {
    int tmp = matrix[0][j];                        // zakidivaem v tmp matrix[0][j]
    matrix[0][j] = matrix[index][j];               // teper mojem v nego zapisat matrix[index][j]
    matrix[index][j] = tmp;                        // a v matrix[index][j] = tmp (gde lejut matrix[0][j])
  }
}
 
void deleteMatrix(int **matrix, int n) {
  for(int i = 0; i < n; ++i)
    delete[] matrix[i];                           // osvobojdaem pamyat is pod ukazatelya na stolbci(elementi matrici)
  delete[] matrix;                                // osvobojdaem pamyat is pod ukazatelya na stroki
}
 
Текущее время: 08:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru