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

Сфоpмиpовать массив из номеpов столбцов, в котоpых находятся минимальные элементы каждой строки (BorlandC++) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать каталог организаций города и отсортировать по названию http://www.cyberforum.ru/cpp-beginners/thread1692028.html
Создать каталог организаций города (динамический массив) и отсортировать по названию ( friend - функция). Помогите пожалуйста #include <iostream> #include <conio.h> #include <stdio.h> using namespace std; class organization {
C++ Даны два массива. Сформируйте массив С, состоящий из общих элементов массива А и В Даны два массива: массив А из n элементов и массив В из m элементов. Сформируйте массив С, состоящий из общих элементов массива А и В. Для формирования массива С напишите функцию с использованием указателей. http://www.cyberforum.ru/cpp-beginners/thread1691995.html
C++ Из элементов массива расположенных между первым нулевым и максимальным сформировать новый массив
Из элементов массива А из n элементов, расположенных между первым нулевым и максимальным (в предположении, что в массиве есть положительные числа) (или максимальным и первым нулевым), сформировать новый массив. Для формирования массива С напишите функцию с использованием указателей.
Из отрицательных элементов массива, сформировать новый массив C++
Из отрицательных элементов массива массив X из n элементов, расположенных левее минимального элемента, сформировать новый массив. Для формирования массива С напишите функцию с использованием указателей. (работу с указателями)
C++ В двухмерном массиве, рассчитать сумму и произведение значений элементов произвольной строки двумерного массив http://www.cyberforum.ru/cpp-beginners/thread1691986.html
Ввести двумерный массив размерностью 5х6(обычный не динамический и работа с ним без использования указателей). Рассчитать в одной функции сумму и произведение значений элементов произвольной строки двумерного массива. Ввод массива и исходных данных выполнить(номера строки) в функции ввода, вывод массива и результатов – в функции вывода. /должно быть 3 функции - ввод данных,...
C++ Перегрузка "+" в классе матрица Добрый вечер При сложении двух матриц, прибавляет только 1 рядок обоих, остальные не изменяет. Помогите пожалуйста найти ошибку в коде: #include <iostream> using namespace std; class Matrix { protected: int element; подробнее

Показать сообщение отдельно
meJevin
 Аватар для meJevin
154 / 146 / 57
Регистрация: 18.11.2015
Сообщений: 610
Завершенные тесты: 1
22.03.2016, 23:33     Сфоpмиpовать массив из номеpов столбцов, в котоpых находятся минимальные элементы каждой строки (BorlandC++)
Ну смотри, у нас есть матрица, мы ищем в каждой строке минимальный элемент и запоминаем его индекс, так как(индекс) он пойдет в массив NS. Но, я не уверен, индекс ли туда должен идти или порядковый номер, так в условии написано номер, но обычно задачи на индексы задают. А как ты знаешь, индексация начинается с нуля, а счет порядковый с единички, поэтому массив NS, в зависимости от понимания условия, может быть разный. Но я следовал условию и заполнил массив NS ПОРЯДКОВЫМИ НОМЕРАМИ минимальных элементов каждой строки. Вот код:
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
#include <iostream>
#include <iomanip>
#define NOMINMAX
#include <Windows.h>
#include <conio.h>
 
int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    srand(time(NULL));
 
    const int N = 4, M = 6;
    int A[N][M];
    int NS[N];
 
    int indexMinM, min;
 
    std::cout << "Ваш массив A:\n";
    for (int i = 0; i < N; i++) {
        min = std::numeric_limits<int>::max();
        std::cout << "\n| ";
        for (int j = 0; j < M; j++) {
            A[i][j] = rand() % 99;
            if (A[i][j] < min) {
                min = A[i][j];
                indexMinM = j;
            }
            std::cout << std::setw(2) << A[i][j] << " | ";
 
            NS[i] = indexMinM+1;
        }
    }
 
    std::cout << "\n\nВаш массив NS, который содержит порядковые номера\nминмальных элементов каждой строки матрицы А:\n\n| ";
    for (int i = 0; i < N; i++)
        std::cout << NS[i] << " | ";
 
    _getch();
    return 0;
}
Добавлено через 6 минут
Вот с комментами, если что-то непонятно.
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
#include <iostream>
#include <iomanip>
#define NOMINMAX
#include <Windows.h>
#include <conio.h>
 
int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    srand(time(NULL));
 
    const int N = 4, M = 6; // размеры матрицы
    int A[N][M];
    int NS[N];
 
    int indexMinM, min; // переменные, которые отвечают за определение мин.
                        // элемента и его запоминание его индекса
 
 
    // сдесь вся каша
    std::cout << "Ваш массив A:\n";
    for (int i = 0; i < N; i++) {
 
        min = std::numeric_limits<int>::max();      // мы не знаем, с каким числом можем встретиться, поэтому я делаю наш мин. элемент максимальным значением int
 
        std::cout << "\n| ";    // для красоты
        for (int j = 0; j < M; j++) {
            A[i][j] = rand() % 99;  // генерируем случайное значение до 99 и кидаем в матрицу 
 
            if (A[i][j] < min) {    // если свеже-сгенерированное число, которое мы только что кинули в матрицу меньше мин.
                min = A[i][j];      // то мин. = этому числу
                indexMinM = j;      // запоминаем индекс
            }
 
            std::cout << std::setw(2) << A[i][j] << " | ";  // для красоты
 
            NS[i] = indexMinM + 1;  //в массив NS кидаем порядковый номер элемента минимального, мы может это сделать, так как мы запомнили индекс (просто прибавим единичку, чтобы это стал порядковый номер)
 
        }
 
    }
 
    // просто вывод массива NS
    std::cout << "\n\nВаш массив NS, который содержит порядковые номера\nминмальных элементов каждой строки матрицы А:\n\n| ";
    for (int i = 0; i < N; i++)
        std::cout << NS[i] << " | ";
 
    _getch();
    return 0;
}
 
Текущее время: 16:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru