Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
4ch
19 / 19 / 0
Регистрация: 24.10.2012
Сообщений: 72
#1

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

22.05.2013, 18:27. Просмотров 498. Ответов 10
Метки нет (Все метки)

Добрый день. Подскажите пожалуйста алгоритм решения. Его суть - нужно записать в весктор индексы элементов от максимального к минимальному.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2013, 18:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Алгоритм решения. Записать в вектор индексы элементов от максимального к минимальному (C++):

После максимального элемента вставить 5 элементов, которые равны минимальному элементу контейнера - C++
задание. Использование шаблонов и классов и алгоритмов библиотеки stl Задание: после максимального элемента вставить 5 элементов,...

Найти индексы максимального и минимального элементов матрицы и произведение этих элементов - C++
При помощи случайных чисел ввести матрицу A(15x5). Записать значения элементов матрицы в файл и сохранить файл. Прочитать из созданного...

Определить индексы максимального и минимального элементов массива - C++
написать программу которая определяет индексы максимального и минимального элементов одномерного массива натуральных чисел размером N....

Найти индексы максимального и минимального элементов в массиве - C++
Ребят,помогите пожалуйста написать код этому условию,используя простые библиотеки conio.h,stdio.h,iostream,math.h. Найти индексы...

Найти индексы и произведении, минимального и максимального элементов массива - C++
Создать массив с элементами akn=n f (k) + sin (k) g (n), где k,n=1,2,3,4; f(k)=sinkcosk2sin(k+1,4)+5,14 g(n)=|sin(2n-1,5)+3sinn2|+2,38 ...

Найти индексы максимального из минимальных элементов строк матрицы - C++
В двумерном массиве все числа различны. В каждой строке находится минимальный элемент, затем среди этих чисел выбирается максимальное....

10
stima
490 / 342 / 40
Регистрация: 22.03.2011
Сообщений: 1,095
Завершенные тесты: 2
22.05.2013, 18:46 #2
Что такое вектор? это std::vector? и что такое индексы и откуда они берутся?
0
4ch
19 / 19 / 0
Регистрация: 24.10.2012
Сообщений: 72
22.05.2013, 18:50  [ТС] #3
Цитата Сообщение от stima Посмотреть сообщение
Что такое вектор? это std::vector? и что такое индексы и откуда они берутся?

Чтобы было более понятно, вот задание. Мне нужно узнать как записать в вектор индексы элементов от максимального к минимальному, не более.

В текстовом файле записаны матрицы A(4x4), B(3x3), C(5x5). Прибавить элементы к диагональным элементам каждой из значений минимального по модулю ненулевого элемента массива. Полученные данные вывести в отдельных текстовых файлах. Для ввода, вывода и сложения к диагональным елементам числа использовать функции, а также использовать функцию для определения указанного минимального элемента.
0
stima
490 / 342 / 40
Регистрация: 22.03.2011
Сообщений: 1,095
Завершенные тесты: 2
22.05.2013, 18:59 #4
Прибавить элементы к диагональным элементам каждой из значений минимального по модулю ненулевого элемента массива.

Расшифруйте. Прибавить элементы чего? Считанной матрицы? диагональным элементам каждой это тоже о считанных матрицах? ненулевого элемента массива Что за массив?

Боже мне Вас жаль если Вам так дают задания.
0
4ch
19 / 19 / 0
Регистрация: 24.10.2012
Сообщений: 72
22.05.2013, 19:13  [ТС] #5
Вот что имеется ввиду. Прибавить к диагональным элементам каждой матрицы минимальный по модулю ненулевой элемент массива. Массив здесь - матрица.
0
stima
490 / 342 / 40
Регистрация: 22.03.2011
Сообщений: 1,095
Завершенные тесты: 2
22.05.2013, 19:20 #6
Если только алгоритм то.
------
В файле:
3 3
1 2 3
4 5 6
7 8 9
4 4
1 2 3 4
5 6 7 8
9 10 11 12
------

1. Считать матрицы.
2. Считать(забить?) массив(матрицу?)
3. Найти минимальный элемент массива(матрици?)
4. Пройтись по диагональным ячейкам и добавить ранее найденный элемент.
5. Вывести результат.
1
4ch
19 / 19 / 0
Регистрация: 24.10.2012
Сообщений: 72
22.05.2013, 19:26  [ТС] #7
Цитата Сообщение от stima Посмотреть сообщение
Если только алгоритм то.
------
В файле:
3 3
1 2 3
4 5 6
7 8 9
4 4
1 2 3 4
5 6 7 8
9 10 11 12
------

1. Считать матрицы.
2. Считать(забить?) массив(матрицу?)
3. Найти минимальный элемент массива(матрици?)
4. Пройтись по диагональным ячейкам и добавить ранее найденный элемент.
5. Вывести результат.


Скорее нужен метод, а не алгоритм. Тут я ошибся
0
stima
490 / 342 / 40
Регистрация: 22.03.2011
Сообщений: 1,095
Завершенные тесты: 2
22.05.2013, 19:28 #8
Обьясните откуда берется "матрица" я напишу код.
0
4ch
19 / 19 / 0
Регистрация: 24.10.2012
Сообщений: 72
22.05.2013, 19:31  [ТС] #9
Цитата Сообщение от stima Посмотреть сообщение
Обьясните откуда берется "матрица" я напишу код.
Вот же они : матрицы A(4x4), B(3x3), C(5x5). Из матрицы А минимальный элемент прибавить к к диагональным элементам матрицы А. Из матрицы B к диаг. элементам матрицы В и так же с матрицей С.
0
stima
490 / 342 / 40
Регистрация: 22.03.2011
Сообщений: 1,095
Завершенные тесты: 2
22.05.2013, 19:49 #10
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;
  }
1
4ch
19 / 19 / 0
Регистрация: 24.10.2012
Сообщений: 72
22.05.2013, 20:40  [ТС] #11
Цитата Сообщение от stima Посмотреть сообщение
C++
1
2
#include <iostream>
#include <fstream>
Мне нужно чуть иное. Дано вектор A размером n. Занести в вектор B индексы элементов вектора А начиная с индекса наибольшего елемента Нужен метод такого решения. Как это реализовать?

Добавлено через 21 минуту
Цитата Сообщение от 4ch Посмотреть сообщение
Мне нужно чуть иное. Дано вектор A размером n. Занести в вектор B индексы элементов вектора А начиная с индекса наибольшего елемента Нужен метод такого решения. Как это реализовать?
Извиняюсь, проблему решил. Спасибо
0
22.05.2013, 20:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2013, 20:40
Привет! Вот еще темы с ответами:

Сделать функцию, которая принимает одномерный массив и возвращает индексы его максимального и минимального элементов, с указателями. С++ - C++
Сделать функцию, которая принимает одномерный массив и возвращает индексы его максимального и минимального элементов, с указателями. С++

Образовать матрицу A(nxn), сгенерировав элементы случайным образом. Определить индексы минимального элемента матрицы. Определить индексы максимального - C++
Образовать матрицу A(nxn), сгенерировав элементы случайным образом. Определить индексы минимального элемента матрицы. Определить индексы...

записать несколько элементов в вектор сразу, как в массиве - C++
Добрый день, форум. Возможно ли в векторе записать несколько элементов одним разом, как в массиве? Например: массив: int massive =...

Записать в вектор среднее значение элементов каждой строки матрицы - C++
Дана матрица m x n. Найти и записать в вектор Y среднее значение элементов каждой строки


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru