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

Функция для нахождения максимального и минимального элемента в строке

17.06.2018, 12:55. Показов 1847. Ответов 3
Метки нет (Все метки)

Написать функцию для нахождение максимального и минимального значений в строке матрицы. Вывести на экран два массива: один - минимальные значения всех строк, другой - максимальные. Матрица 10×10.
Могу написать две функции, но не понимаю, как объединить их в одну и использовать указатели
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2018, 12:55
Ответы с готовыми решениями:

Функция нахождения минимального элемента массива
Написать функцию нахождения минимального значения элемента массива.#include <stdio.h> #include...

Рекурсивная функция нахождения максимального положительного элемента одномерного массива
Помогите с решением задачи. Код приведен ниже, но в результате выходит непонятно что Не могу сам...

Составить программу поиска нахождения минимального и максимального элементов массива
Задан числовой массив А. Составить программу поиска нахождения минимального и максимального...

Составить функцию нахождения минимального элемента матрицы
Дана матрица составить Функцию нахождения минимального элемента

3
174 / 134 / 105
Регистрация: 14.04.2016
Сообщений: 719
17.06.2018, 14:49 2
Цитата Сообщение от linnele Посмотреть сообщение
Могу написать две функции
Ну так делайте, а мы поможем.
0
0 / 0 / 0
Регистрация: 18.10.2016
Сообщений: 17
19.06.2018, 11:08  [ТС] 3
Есть сама функция, как вызвать ее в main, чтобы она заполнила два одномерных массива?
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
#include <iostream>
#include<time.h>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
 
using namespace std;
 
int searchMinMax (int**a,int*max,int*min,int n, int k)
{
    *max=a[n][0], *min=a[n][0];
    for (int i=0;i<k;i++){
        if (a[n][i]>*max) {*max=a[n][i];}
       if(a[n][i]<*min){ *min=a[n][i];}
    }
}
int main()
{srand(time(NULL));
    int**matrix;
    int*max;
    int*min;
    int m=10; //счетчик столбцов
    int n=10; //счетчик строк
    int Min=-10;
    int Max=10;
    matrix=new int*[n]; //создание основной матрицы и матриц для максимальных и минимальных значений
    max=new int[n];
    min=new int[n];
    for (int i=0;i<n;i++)
       matrix[i]=new int[m];
     for (int i=0;i<n;i++)       //заполнение основной матрицы числами в диапазоне от -10 до 10
    {for(int j=0;j<m;j++)
            matrix[i][j]=-10+rand()%(11-(-10));}
        for (int i=0;i<n;i++)
        {for(int j=0;j<m;j++)      //вывод матрицы на экран
        printf("%3d ",matrix[i][j]);
        printf("\n");}
        
        for (int i=0;i<n;i++) delete[]matrix;
return 0;}
0
6044 / 2159 / 753
Регистрация: 10.12.2010
Сообщений: 6,007
Записей в блоге: 3
19.06.2018, 11:45 4
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
#include <stdio.h>
 
#define N 5
 
struct Pair
{
    const void* first;
    const void* second;
};
 
typedef int (* Compare)(const void*, const void*);
 
struct Pair MinMaxElement(const void* const first, const void* const last, const size_t elementSize, Compare compare)
{
    struct Pair result = {.first = first, .second = first};
 
    const unsigned char* start = first;
    const unsigned char* const end = last;
 
    if ((start != end) && (start + elementSize != last))
    {
        start = start + elementSize;
        while (start < end)
        {
            if (compare(start, result.first))
            {
                result.first = start;
            }
 
            if (!compare(start, result.second))
            {
                result.second = start;
            }
 
            start = start + elementSize;
        }
    }
 
    return result;
}
 
static int CompareInts(const void* a, const void* b)
{
    if (*(int*) a < *(int*) b)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
 
int main(void)
{
    int matrix[N][N] = {
        {1, 2, 3, 4, 5},
        {11, 22, 33, 44, 55},
        {0, 11, 22, 55, 44},
        {111, 999, 0, 111, 111},
        {0, 9, 8, 7, 6}
    };
 
    for (int i = 0; i < N; i++)
    {
        struct Pair result = MinMaxElement(&matrix[i][0], &matrix[i][N], sizeof(int), CompareInts);
        printf("row %d: min = %d, max = %d\n", i, *((int*) result.first), *((int*) result.second));
    }
 
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.06.2018, 11:45
Помогаю со студенческими работами здесь

Исправить функцию нахождения минимального элемента матрицы
Исправите пж ошибки в функции, ато я не особый знаток создания функций с матрицами. int Max(int...

Реализовать функцию нахождения минимального элемента матрицы
Здравствуйте, прошу помощи с программой. Найти минимальный элемент матрицы A(4х4) и вывести на...

Функция поиска максимального и минимального эл. одномерного масива
Ребят помогите написать программу УСЛОВИЕ:Написать функцию поиска максимального и минимального...

Найти значение минимального или максимального элемента
Доброго времени суток!Помогите пожалуйста решить задачу из трех действий на СИ,пробовал решать по...


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

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

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