С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 08.04.2020
Сообщений: 56
1

Найти минимальный элемент строки

18.05.2020, 19:45. Показов 2793. Ответов 15

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста. Не могу понять, почему программа вычисляет неверно.
Вот часть кода. Нужно найти минимальный элемент строки.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    int matrix[3][6]; //задаем размер матрицы
    int i, j;
    int N=0;
    int min=INT_MAX;
    cout << "Enter number of string: ";
    cin>>N;
    if (N > 0 && N < 4)
        {
            for (i = 0; i < 3; i++)
            {
                for (j = 0; j<6; j++)
                    {
                    if (matrix[N-1][j] < min)
                        min = matrix[N-1][j];
                    }
            }
        }
    
 
            cout << "min element " << N << " string:"; //выводим на экран минимальное значение строки
            cout << min << endl;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2020, 19:45
Ответы с готовыми решениями:

Найти минимальный элемент каждой строки и максимальный элемент каждого столбца матрицы
как найти минимальный элемент каждой строки и максимальный элемент каждого столбца матрицы на с++...

Найти минимальный элемент второй строки матрицы
помогите с фрагментом в котором находится минимальный элемент второй строки матрицы(6x6)(можно без...

Найти минимальный элемент строки в двумерном массиве
как найти минимальный элемент строки в двумерном массиве

Найти минимальный элемент каждой строки матрицы
Дословно задание звучит так: &quot;Сформировать двумерный массив целых чисел размерности nxm, где...

15
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
18.05.2020, 20:21 2
Цитата Сообщение от margarite Посмотреть сообщение
Вот часть кода. Нужно найти минимальный элемент строки.
C++
1
2
3
4
5
6
7
if (N > 0 && N < 4)
{
    min = matrix[N-1][0]
    for (j = 1; j < 6; j++)
        if (matrix[N-1][j] < min)
            min = matrix[N-1][j];
}
Добавлено через 50 секунд
А ты матрицу заполняешь чем-нибудь?
0
0 / 0 / 0
Регистрация: 08.04.2020
Сообщений: 56
18.05.2020, 20:52  [ТС] 3
oleg-m1973, да, она заполняется из файла, либо с клавиатуры
0
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
18.05.2020, 20:54 4
Цитата Сообщение от margarite Посмотреть сообщение
oleg-m1973, да, она заполняется из файла, либо с клавиатуры
И что тогда неверно?
0
0 / 0 / 0
Регистрация: 08.04.2020
Сообщений: 56
18.05.2020, 21:10  [ТС] 5
oleg-m1973, почему то не читается матрица, получается, что находится минимальное значение пустой матрицы
0
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
18.05.2020, 21:13 6
Цитата Сообщение от margarite Посмотреть сообщение
oleg-m1973, почему то не читается матрица, получается, что находится минимальное значение пустой матрицы
Покажи весь код
0
0 / 0 / 0
Регистрация: 08.04.2020
Сообщений: 56
18.05.2020, 21:49  [ТС] 7
oleg-m1973,
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
80
81
#include <iostream> //библиотека ввода вывода
#include <fstream> // библиотека для работы с файлами
using namespace std;
 
void matrix_file() //функция для чтения матрицы из файла
{
    int const n = 3; //задаем размер матрицы
    int const m = 6;
    int matrix[n][m];
    int x[3][6];
    cout << "Fill in the matrix from a file\n";
    cout << "Checking to open a file: ";
    fstream file("matrix.txt");  //заполнение матрицы значениями из файла с помощью цикла for
        for (size_t i = 0; i < 3; ++i)
            for (size_t j = 0; j < 6; ++j)
                file >> x[i][j];
                for (size_t i = 0; i < 3; ++i)
                    {file << "\n\n"; //запись значений в файл в виде матрицы
                    for (size_t j = 0; j < 6; ++j)\
                        {file << x[i][j] <<"  ";}}
                        file <<"\n";
 
        if (!file.is_open()) //проверка на открытие файла с помощью цикла if
    {
        cout << "Error! File didn't open:(\n";
    }
        else { cout << "The file opens correctly!\n\n"; }
 
    cout<<"matrix A \n"; //вывод двумерного массива в виде матрицы
        for (int i=0; i<n; i++)
        {
            for (int j=0; j<m; j++)
            cout<<x[i][j]<<"\t";
            cout<<endl;
        }
 
    file.close(); //закрываем файл
}
    
}
void min () //функция нахождения минимального элемента строки
 {
    int matrix[3][6]; //задаем размер матрицы
    int i, j;
    &matrix[i][j];
    int N=0;
    int min;
    cout << "Enter number of string: ";
    cin>>N;
    if (N > 0 && N < 4)
        { min = matrix[N-1][0];
            for (i = 0; i < 3; i++)
            {
                for (j = 0; j<6; j++)
                    {
                    if (matrix[N-1][j] < min)
                        min = matrix[N-1][j];
                    }
            }
        }
            ofstream file("min_max.txt"); //записываем минимальные значения в файл
            file << "Minimum element " << N << " string: " << min << "\n";
            file.close(); //закрываем файл
 
            cout << "min element " << N << " string:"; //выводим на экран минимальное значение строки
            cout << min << endl;
    }
 
 
 
 
int main()
{
   matrix_file();
min();
   
    
           
        
    return 0;
}
0
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
18.05.2020, 21:53 8
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
#include <iostream> //библиотека ввода вывода
#include <fstream> // библиотека для работы с файлами
using namespace std;
 
int const n = 3; //задаем размер матрицы
int const m = 6;
int matrix[n][m];
 
void matrix_file() //функция для чтения матрицы из файла
{
    //int const n = 3; //задаем размер матрицы
    //int const m = 6;
    ///int matrix[n][m];
    ///int x[3][6];
............................................
}
 
void min() //функция нахождения минимального элемента строки
{
    ///////////////////int matrix[3][6]; //задаем размер матрицы
    int i, j;
    /////////////////////&matrix[i][j];
    ...........................................
}
 
 
 
int main()
{
    matrix_file();
    min();
    return 0;
}
0
0 / 0 / 0
Регистрация: 08.04.2020
Сообщений: 56
18.05.2020, 22:05  [ТС] 9
oleg-m1973, спасибо, только теперь выводится минимальный элемент равный 0 в каждой строке, учитывая, что его быть не должно
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
18.05.2020, 22:05 10
margarite, если не секрет, зачем Вы записываете матрицу в файл если она там есть ?

насчёт размера матрицы видимо зря я пытался что-то рассказать Вам в соседней теме. попробую ещё раз - как Вы можете заранее знать размер матрицы которую нужно записать в массив ?
0
0 / 0 / 0
Регистрация: 08.04.2020
Сообщений: 56
18.05.2020, 22:11  [ТС] 11
Yetty, она там есть в произвольном виде, а нужно по заданию, чтобы в файле было в виде матрицы.
Извините, таким образом записывать размер матрицы мне удобнее, относительно работает же))
В условии задачи сказано, чтобы матрица была 3х6.

Добавлено через 1 минуту
Yetty, там вообще в задании очень много пунктов, это единственное, в чем сейчас возникает проблема. Поэтому, если честно, это упрощенный вид кода.
0
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
18.05.2020, 22:13 12
Цитата Сообщение от margarite Посмотреть сообщение
oleg-m1973, спасибо, только теперь выводится минимальный элемент равный 0 в каждой строке, учитывая, что его быть не должно
В функции matrix_file, заменила x на matrix?
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
18.05.2020, 22:15 13
Цитата Сообщение от margarite Посмотреть сообщение
нужно по заданию, чтобы в файле было в виде матрицы
тогда зачем пробел между строками ? сбросьте условие задачи
0
0 / 0 / 0
Регистрация: 08.04.2020
Сообщений: 56
18.05.2020, 22:18  [ТС] 14
Yetty, точно также в условии просят пробел
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
18.05.2020, 22:24 15
Цитата Сообщение от margarite Посмотреть сообщение
если честно, это упрощенный вид кода
зато честно. матрица 3x6 на самом деле присутствует в условии ? программу я так понимаю Вам ещё и сдать надо. и так что бы приняли, а не вернули на доработку
0
0 / 0 / 0
Регистрация: 08.04.2020
Сообщений: 56
18.05.2020, 22:34  [ТС] 16
Yetty, oleg-m1973, все, исправила все ошибки. Большое спасибо за помощь. Теперь красиво работает.
0
18.05.2020, 22:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2020, 22:34
Помогаю со студенческими работами здесь

Найти максимальный и минимальный элемент каждого столбца и строки матрицы
Здравствуйте!Дали задание: 1.Создать матрицу размером 5х5. 2.Вывести матрицу на экран. 3.Найти...

Используя контейнер vector найти минимальный элемент каждой строки
сформировать 2-мерный массив используя контейр вектор найти мин елемент каждой строки удалить макс...

Найти минимальный элемент каждой строки матрицы и поместить их на главной диагонали
Двумерные массивы: 6)Найти минимальный элемент каждой строки квадратной матрицы X=( xi,k) и...

Найти сумму столбца и строки матрицы, где находится минимальный элемент
Дана вещественная матрица A(n,m). Найти сумму максимальных элементов столбцов и номер строки, в...

Найти в массиве максимальный элемент и заменить все вышестоящие на минимальный из последней строки
1. В массиве все элементы, стоящие выше максимального элемента, заменить на минимальный элемент...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru