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

Наименьшее число в каждом ряду двумерного массива - C++

Восстановить пароль Регистрация
 
vovalski
0 / 0 / 0
Регистрация: 21.09.2010
Сообщений: 74
26.01.2011, 13:11     Наименьшее число в каждом ряду двумерного массива #1
Здравствуйте! Помогите пожалуйста - надо сделать программу которая будет находить наименьшее число в каждом ряду двумерного массива!

 Комментарий модератора 
Именуйте темы осмысленно. Название темы должно максимально полно отражать ее содержание.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2011, 13:11     Наименьшее число в каждом ряду двумерного массива
Посмотрите здесь:

C++ вычисление произведения отрицательных элементов в каждом столбце двумерного массива
C++ Подсчёт суммы элементов в каждом столбце двумерного массива
Заданы два массива А(5) и В(5). В каждом из массивов найти наименьшее значение и разделить на него все элементы массивов. На печать вывести исходные C++
C++ В каждом ряду матрицы найти самый большой элемент и поменять его местами с соответствующим диагональным элементом
C++ Вывести на экран максимальные элементы в каждом столбце двумерного массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
26.01.2011, 13:44     Наименьшее число в каждом ряду двумерного массива #2
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <algorithm>
using namespace std;
#define N 3
#define M 4
 
int main(){
    int mat[N][M]={{3,1,2,34},{4,6,22,13},{50,-3,28,-14}};
    for_each(mat, mat+N, [](int* mas){cout<<*min_element(mas, mas+M)<<"\n";});
}
jambas92
 Аватар для jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
26.01.2011, 18:26     Наименьшее число в каждом ряду двумерного массива #3
Здравствуйте!Добавлю свой вариант, здесь произвольно вводится n и m, затем вводится сама двумерная матрица n x m, и в этой матрице находится минимум в ряду

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
#include <iostream>
 
using namespace std;
 
int main()
{
    int n, m;
    int count=0;
    int min=200;
    int mas[100][100];
    int mas2[100];
    int mas3[100];
 
    cin >> n >> m;
 
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<m; j++)
        {
            cin >> mas[i][j];
        }
    }
 
    while(count!=n*m)
    {
        for (int i=0; i<n; i++)
        {
            if (mas[count][i]<min)
            {
                min=mas[count][i];
            }
            mas2[count]=min;
        }
        count++;
        min=200;
    }
 
    for (int i=0; i<n; i++)
    {
        cout << mas2[i] << " ";
    }
 
    return 0;
}
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
27.01.2011, 08:22     Наименьшее число в каждом ряду двумерного массива #4
Цитата Сообщение от jambas92 Посмотреть сообщение
while(count!=n*m)
Сдается мне что здесь скрывается ошибка.
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
27.01.2011, 10:11     Наименьшее число в каждом ряду двумерного массива #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от jambas92 Посмотреть сообщение
Здравствуйте!Добавлю свой вариант, здесь произвольно вводится n и m, затем вводится сама двумерная матрица n x m, и в этой матрице находится минимум в ряду
нехороший код. Если уж n и m вводятся с клавиатуры, то саму матрицу надо бы сделать динамической. И почему у нас начальное значение min равно именно 200? А если все значения в какой-то строке окажутся больше 200? Это в дополнение к комментарию выше.

Я бы сделал так:
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
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
 
#define getElem(M, I, J) { printf("Input " #M "[%u][%u]: ", (I), (J)); scanf("%d", &(M)[(I)][(J)]); }
 
void errExit(const char* fmt, ...);
 
int main()
{
    size_t rows, cols, i, j;
    int min;
    int** matrix;
 
    printf("Input the number of rows:\n? ");
    scanf("%u", &rows);
    printf("Input the number of columns:\n? ");
    scanf("%u", &cols);
 
    if((matrix = malloc(sizeof(char*) * rows)) == NULL)
    errExit("Can't allocate memory for matrix %ux%u\n", rows, cols);
 
    for(i = 0; i < rows; ++i)
    if((matrix[i] = malloc(sizeof(char*) * cols)) == NULL)
        errExit("Can't allocate memory for the %u row of the matrix", i);
 
    for(i = 0; i < rows; ++i)
    for(j = 0; j < cols; ++j)
        getElem(matrix, i, j);
 
    for(i = 0; i < rows; ++i)
    {
    min = matrix[i][0];
    for(j = 1; j < cols; ++j)
        if(min > matrix[i][j])
        min = matrix[i][j];
    printf("Min elem in the %u row is %d\n", i, min);
    }
 
    for(i = 0; i < rows; ++i)
    free(matrix[i]);
 
    free(matrix);
 
    exit(0);
}
 
void errExit(const char* fmt, ...)
{
    va_list ap;
    va_start(ap, fmt);
    vfprintf(stderr, fmt, ap);
    va_end(ap);
    exit(1);
}
jambas92
 Аватар для jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
27.01.2011, 14:38     Наименьшее число в каждом ряду двумерного массива #6
а зачем решать все полностью??? помню когда я регестрировался, то мне за даром почти никто не помогал. помогали лишь тогда когда видели что я работаю, и пытаюсь решить задачу сам!!! того я желаю и всем остальным!!! так как этот мне очень помог. а за коментарии спасибо, я их все принимаю во внимание.
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
27.01.2011, 14:44     Наименьшее число в каждом ряду двумерного массива #7
Цитата Сообщение от jambas92 Посмотреть сообщение
а зачем решать все полностью??? <...>
Тут дело не в "решать полностью или нет", а в "давать *правильное* решение или нет"
jambas92
 Аватар для jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
27.01.2011, 14:46     Наименьшее число в каждом ряду двумерного массива #8
Nameless One, но не можешь же ты сказать что мой ответ совсем не верный???
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
27.01.2011, 14:54     Наименьшее число в каждом ряду двумерного массива #9
jambas92, да, и выше уже написано, почему
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
27.01.2011, 17:00     Наименьшее число в каждом ряду двумерного массива #10
jambas92, Твой пример явно показывает, как делать нельзя.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
27.01.2011, 17:20     Наименьшее число в каждом ряду двумерного массива #11
Цитата Сообщение от Nameless One Посмотреть сообщение
#define getElem(M, I, J) { printf("Input " #M "[%u][%u]: ", (I), (J)); scanf("%d", &(M)[(I)][(J)]); }
вот это понравилось
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2011, 17:27     Наименьшее число в каждом ряду двумерного массива
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Nameless One
27.01.2011, 17:27     Наименьшее число в каждом ряду двумерного массива
  #12

Не по теме:

easybudda, удобно

Yandex
Объявления
27.01.2011, 17:27     Наименьшее число в каждом ряду двумерного массива
Ответ Создать тему
Опции темы

Текущее время: 11:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru