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

В матрице найти максимальный и минимальный элемент,переставить строки в которых они находится - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция stod() выводит только 4 знака после запятой http://www.cyberforum.ru/cpp-beginners/thread1083479.html
Как сделать так, чтобы функция stod() при преобразовании строки string в число double не ограничивала количество знаков после запятой четырьмя. Например, в этом примере: // stod example #include <iostream> // std::cout #include <string> // std::string, std::stod int main () { std::string orbits ("365.24 29.53"); std::string::size_type sz; // alias of size_t
C++ Как задать условие, что по окончанию файла завершается цикл? Файл присоединен таким образом: ifstream in("in.txt");Что написать в скобках оператора while(), чтобы цикл завершался по окончанию файла? http://www.cyberforum.ru/cpp-beginners/thread1083473.html
нужно дополнить - исправить код C++
Понимаю, что задач вроде не сложная, но никак не получается переделать код. Я решил задачу , которую выкладывал ниже, про кол-во островов, кто не помнит вот условие. дана карта в виде массива из 0 и 1, она записана в файле input.txt с таким форматом: в первой строке файла записано 2 числа - кол-во строк и кол-во столбцов, в остальных строках сама матрица эта матрица представляет собой карту...
Функция доступа в закрытую зону класса C++
я не волшебник, я только только начал. суть вопроса вот в чем: был дан код, в котором данные-элементы некоторых классов лежали в открытой секции, по заданию преподавателя эти элементы нужно перенести в закрытые (private) секции. Вроде задача не сложная, но что то я никак не могу сообразить со следующим. Приведу почти все объявление классов и ту часть кода где поймал затык. КЛАССЫ: class...
C++ очистка памяти http://www.cyberforum.ru/cpp-beginners/thread1083445.html
в данном случае деструктор очистит всё, или нет? #include "base.h" #include <cstdlib> #include <ctime> base::base(int x,int y) { for (int i=0;i<x;i++) { int *b=new int; for (int j=0;j<y;j++)
C++ Инициализация в теле конструктора или в списке инициализации. Здрасте. class random1 { public: random(): a(5) {} private: int a; }; подробнее

Показать сообщение отдельно
razqr
20 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 22
28.01.2014, 11:53     В матрице найти максимальный и минимальный элемент,переставить строки в которых они находится
Здравствуйте уважаемые форумчане. Я столкнулся с проблемой вот такой: Разработайте программу обработки массивов. Входные данные введите с клавиатуры. Результаты работы программы отобразите на экране.
Я только учусь так что еще пока все плохо. Матрица размером N*N Не могу понять как в матрице найти максимальный и минимальный элемент,переставить строки в которых они находится и если они в одной строке выдать об этом сообщение.
Вот код который пытаюсь за шаманить оО
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
#include <iostream>
#include <iomanip>
 
 template <class T>
T MOD(T a)
{
  return ( (a) < 0? -(a) : (a) );
}
 
void input_matrix(int **matrix, const size_t matrix_size){
  for(int i = 0; i < matrix_size; ++i)
    for(int j = 0; j < matrix_size; ++j){
      std::cout << "\nMtarix[" << i << "][" << j << "] = ";
      std::cin >> matrix[i][j];
    }
}
 
void output_matrix(int **matrix, const size_t matrix_size){
  for(int i = 0; i < matrix_size; ++i){
    for(int j = 0; j < matrix_size; ++j)
      std::cout << std::setw(3) << matrix[i][j] << ' ';
  }
  std::cout << '\n';
}
 
bool cheking(int **matrix, const size_t matrix_size){
  bool ort = true;
  int pr = 0;
  for (int i = 0; i < matrix_size - 1 && ort; ++i){
    pr = 0;
    for (int k = i + 1; k < matrix_size && ort; ++k)
      for(int j = 0; j < matrix_size; ++j)
        pr += matrix[i][j] * matrix[k][j];
    if (MOD(pr) > 0.0001)
      ort = false;
  }
  for (int i = 0; i < matrix_size - 1 && ort; ++i){
    pr = 0;
    for(int j = 0; j < matrix_size; ++j)
      pr += matrix[i][j] * matrix[i][j];
    if (MOD(pr - 1) > 0.0001)
      ort = false;
  }
  return ort;
}
 
int main() {
  size_t matrix_size;
  std::cout << "\n\nInput matrix size -> ";
  std::cin >> matrix_size;
  int **matrix = new int*[matrix_size];
  for(int i = 0; i < matrix_size; ++i)
    matrix[i] = new int[matrix_size];
  input_matrix(matrix, matrix_size);
  std::cout << '\n';
  output_matrix(matrix, matrix_size);
  std::cout << ( cheking(matrix, matrix_size)? "YES" : "NO" ) << std::endl;
  for(int i = 0; i < matrix_size; ++i)
    delete[] matrix[i];
  delete[] matrix;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru