0 / 0 / 0
Регистрация: 20.11.2022
Сообщений: 9
1

В матрице размером NxM найти координаты наименьшего трехзначного числа

23.12.2022, 11:48. Показов 299. Ответов 5

Author24 — интернет-сервис помощи студентам
Вот мой код:
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
#include <stdio.h>
 
int main()
{
const int n=2, m=2;
int mat[n][m], i, j;
int ci, cj, a=99;
 
printf("Input %d elements of 'n' and %d elements of 'm':\n", n, m);
for(i=0;i<2;i++)
for(j=0;j<2;j++)
scanf("%d", &mat[i][j]);
 
printf("\n");
 
for(i=0;i<2;i++)            //Оформление элементов матрицы по порядку
{
    for(j=0;j<2;j++)
        printf("%d\t", mat[i][j]);
        printf("\n");
}
 
int min = mat[0][0];        //пошук мінімального елемента
 
for(i=0;i<2;i++)
    for(j=0;j<2;j++)
        if(min>mat[i][j])
        {
            min = mat[i][j];
            ci=i;
            cj=j;
        }
    printf("\nMin element: %d\t", min);
    printf("Coordinates of the element: %d,%d", ci, cj);
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2022, 11:48
Ответы с готовыми решениями:

Пусть дана вещественная матрица размером nxm. Найдите среднее арифметическое наибольшего и наименьшего значений
Пусть дана вещественная матрица размером nxm. Найдите среднее арифметическое наибольшего и...

В матрице размером NxM упорядочить строки
помогите с программой: В матрице размером NxM упорядочить строки по возрастанию их наибольших...

В матрице размером NxM переставить строки
Народ помогите сделать задачку, долблю её уже день: В матрице размером NxM переставить строки так,...

в матрице размером nxm переставить строки
в матрице размером nxm переставить строки так чтобы на главной диагонали матрицы были расположенны...

В матрице размером NxM переставить строки
В матрице размером NxM переставить строки так, чтобы на главной диагонали матрицы были расположены...

5
Лежебока
317 / 234 / 94
Регистрация: 12.05.2021
Сообщений: 1,337
23.12.2022, 12:47 2
Вы показываете решение, или у вас возникла проблема?

Добавлено через 2 минуты
И у вас код на Си, а не С++
0
0 / 0 / 0
Регистрация: 20.11.2022
Сообщений: 9
23.12.2022, 19:02  [ТС] 3
Проблема была в том, что условия трехзначности работало неадекватно.
Задал такое условие:
C++
1
2
3
4
for(i=0;i<2;i++)
    for(j=0;j<2;j++)        
        if(mat[i][j]>99 && mat[i][j]<1000)
                if(min<mat[i][j])
1 100
2 3
Программа определяет 1, как минимальное число.
В следующем случае:
100 2
3 5
Программа видит сто, как минимальное трехзначное число.
В остальных случаях, например
103 100
154 172
Программа тоже реагирует адекватно и выводит 100.
0
Лежебока
317 / 234 / 94
Регистрация: 12.05.2021
Сообщений: 1,337
23.12.2022, 20:53 4
Цитата Сообщение от Blad3runner Посмотреть сообщение
if(min>mat[i][j])
напиши так
C++
1
if(min>mat[i][j] && mat[i][j] > 99)
0
0 / 0 / 0
Регистрация: 20.11.2022
Сообщений: 9
23.12.2022, 21:19  [ТС] 5
Цитата Сообщение от Donkix Посмотреть сообщение
напиши так
C++
1
if(min>mat[i][j] && mat[i][j] > 99)
Та же картина
Миниатюры
В матрице размером NxM найти координаты наименьшего трехзначного числа  
0
2830 / 2336 / 706
Регистрация: 29.06.2020
Сообщений: 8,625
23.12.2022, 22:04 6
Цитата Сообщение от Blad3runner Посмотреть сообщение
int min = mat[0][0];
Грациас мучос.

Так и почему минимальное инициализируется первым элементом ?

Добавлено через 14 минут
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
#include <iostream>
#include <algorithm>
#include <array>
#include <optional>
int main()
{
    int a[] = {1,2,10,3};
    std::optional<int> min3dig;
    auto is3dig = [](const int a){return a>99 && a < 1000;};
    std::for_each(std::begin(a), std::end(a), [&min3dig, &is3dig](int n){
            if (is3dig(n)){
                if (min3dig)
                    min3dig.value() = std::min(min3dig.value(), n);
                else
                    min3dig = n;
            }
        }
    );
    if (min3dig)
        std::cout << "Minimum 3 digit number is : " << min3dig.value();
    else
        std::cout << "Sequence has no 3 digit numbers";
    std::cout <<  std::endl;
}
0
23.12.2022, 22:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2022, 22:04
Помогаю со студенческими работами здесь

В матрице размером NxM поменять местами строку
Выполнить задание двумя способами: с использованием функций и операторов языка С++ для работы с...

В матрице размером NxM поменять местами строку.
Требуется в матрице размером NxM поменять местами строку, содержащую элемент с наибольшим значением...

В матрице размером NxM поменять местами строку со столбцом
Собственно, такое вот задание: В матрице размером NxM поменять местами строку, содержащую...

В матрице размером NxM вывести на экран ее седловую точку
В матрице размером NxM вывести на экран ее седловую точку. (Элемент матрицы называется седловой...

Определить кол-во различных элементов в матрице размером NxM
Задана символьная матрица размером NxM.Определить кол-во различных элементов (Повторяющиеся считать...


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

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

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