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

Алгоритм решения. Записать в вектор индексы элементов от максимального к минимальному - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Рекурсия с указателем на массив http://www.cyberforum.ru/cpp-beginners/thread874747.html
с мэйна вызываю функцию в которую передаю ссылку посредством указателя на массив. потом делаю рекурсию в самой вызыванной функции: int summ(int *arr, int i,int N) { return summ(arr,i++,N); } как мне обратно передавать туда не указатель а сам массив. а то первый аргумент получается **,*** и так далее
C++ Строки. Удалить из строки S1 последнюю подстроку, совпадающую с S2 Помогите решить задачу Даны строки S1 и S2. Удалить из строки S1 последнюю подстроку, совпадающую с S2. Если совпадающих подстрок нет, то вывести строку S1 без изменений #include <stdio.h> #include <string.h> int main(int argc, char* argv) http://www.cyberforum.ru/cpp-beginners/thread874745.html
C++ Графы
Всем привет кто читает это сообщение. Можете мне дать примеры с графами, нахождение мин расстояние, нахождение всех вершин к которым существует путь заданной длины, вес вводится с клавиатуры ну и другие, если у кого есть. Хочу все примеры разобрать и сделать свою задачу. Спасибо за понимание. P.s. в интернете что то не нашел примеры
C++ Найти наибольшие элементы и их порядковые номера массивов. Нахождение наибольших элементов оформить в виде функции
Найти наибольшие элементы и их порядковые номера массивов Х(80), Y(70). Нахождение наибольших элементов оформить в виде функции. Добавлено через 2 минуты #include <iostream> using namespace std; int const nX=5, nY=7; void EnterArray(int nArray);
C++ Чем отличаются компиляторы? http://www.cyberforum.ru/cpp-beginners/thread874725.html
Здравствуйте. 32-bit / 64-bit -- Понятно. Чем отличается threads-win32 от threads-posix, dwarf от sjlj?
C++ Написать программу любителям предсказаний, позволяющую для введенной даты определить, принадлежит ли она к високосному году Написать программу любителям предсказаний, позволяющую для введенной даты определить, принадлежит ли она к високосному году, если это не так, то выдать информацию о количестве лет до ближайшего високосного года. подробнее

Показать сообщение отдельно
stima
430 / 285 / 16
Регистрация: 22.03.2011
Сообщений: 929
Завершенные тесты: 1
22.05.2013, 19:49     Алгоритм решения. Записать в вектор индексы элементов от максимального к минимальному
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
#include <iostream>
#include <fstream>
 
template <size_t size>
void read_matrix(std::istream& in, int matrix[][size])
  {
  for (size_t i = 0; i < size; ++i)
    for (size_t j = 0; j < size; ++j)
      in >> matrix[i][j];
  }
 
template <size_t size>
void print_matrix(std::ostream& out, int matrix[][size])
  {
  int last = size - 1;
 
  for (size_t i = 0; i < size; ++i)
    {
    for (size_t j = 0; j < last; ++j)
      out << matrix[i][j] << " ";
    out << matrix[i][last] << std::endl;
    }
  }
 
template <size_t size>
int min_matrix(int matrix[][size])
  {
  int min = matrix[0][0];
 
  for (size_t i = 0; i < size; ++i)
    for (size_t j = 0; j < size; ++j)
      {
      if (min > matrix[i][j])
        min = matrix[i][j];
      }
 
  return min;
  }
 
template <size_t size>
void add_to_matrix(int matrix[][size], int value)
  {
  for (size_t i = 0; i < size; ++i)
    for (size_t j = 0; j < size; ++j)
      if (i == j)
        matrix[i][j] += value;
  }
 
int main()
  {
  std::fstream fs("task.in", std::fstream::in);
  if (!fs.is_open())
    return 1;
 
  int a[4][4] = {}, b[3][3] = {}, c[5][5] = {};
  read_matrix<4>(fs, a);
  read_matrix<3>(fs, b);
  read_matrix<5>(fs, c);
 
  int min_a = min_matrix<4>(a);
  int min_b = min_matrix<3>(b);
  int min_c = min_matrix<5>(c);
 
  add_to_matrix<4>(a, min_a);
  add_to_matrix<3>(b, min_b);
  add_to_matrix<5>(c, min_c);
 
  print_matrix<4>(std::cout, a);
  print_matrix<3>(std::cout, b);
  print_matrix<5>(std::cout, c);
 
  std::cin.get();
    
  return 0;
  }
 
Текущее время: 16:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru