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

Вывести на экран максимальные элементы в каждом столбце двумерного массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ На ферме было х кроликов http://www.cyberforum.ru/cpp-beginners/thread1104631.html
На ферме было х кроликов. Ежемесячный прирост составляет 5%. Составить программу определяющую, через какое время ежемесячный прирост превысит s кроликов.
C++ В одномерном массиве, состоящем из n вещественных элементов, вычислить номер минимального по модулю элемента массива Пытаюсь переделать статический в динамический. что-то не получается. В одномерном массиве, состоящем из n вещественных элементов, вычислить: Задание 1. Номер минимального по модулю элемента массива; Задание 2. Сумму модулей элементов массива, расположенных после первого отрицательного элемента. #include <iostream> #include <time.h> #include <fstream> using namespace std; int InpN() { http://www.cyberforum.ru/cpp-beginners/thread1104618.html
C++ Передача в функцию динамический массив объектов первого и второго типа
каким способом это можно сделать ? )
Не имею понятия как решать задачу (классы) C++
Створити клас вибірка Sample розмірності N. Передбачити функції для виконання наступних операцій: консольне введення/виведення значень вибірки, розрахунок середнього, дисперсії, розмаху, середньоквадратичного відхилення. Розробити дружню функцію для розрахунку критерію Кохрена (G=Smax / ∑ Si). Подтолкните в нужном направлении, что такое дружня функция?
C++ Найти разность количества положительных и отрицательных элементов http://www.cyberforum.ru/cpp-beginners/thread1104607.html
Помогите, пожалуйста. Нужно переделать вторую часть, где идет работа с заданием 2. Там выполняется сумма отрицательных элементов. А мне нужно найти разность количества положительных и отрицательных элементов, где элементы считываются из файла. // GuryanovFirstlab.cpp : Defines the entry point for the console application. // #include "stdafx.h" // подключаем файл #include...
C++ Добавления свойст Добрый день. Требуется задать свойство в С++ в одно из полей класса. Ищу в гугле. Везде пишется как на 2008+ версиях тыкаешь на класс правой кнопкой и жмёшь создать. Но нигде не написано как это сделать в ручную. Проблема в том, что добавления свойств правой кнопкой нету в версии 2005. А мне нужно использовать именно её. подробнее

Показать сообщение отдельно
MessageToBears
8 / 8 / 1
Регистрация: 05.12.2013
Сообщений: 65
24.02.2014, 22:19     Вывести на экран максимальные элементы в каждом столбце двумерного массива
Всем привет. Не могу догнать, как решить задачу с двумерным массивом с помощью указателей.

Задание такое: Нужно вывести на экран максимальные элементы в каждом столбце двумерного массива (матрицы).


Задача без указателей, которая работает исправно:

C++ (Qt)
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
 int main () {
    int a[5][5], i,j,n;
    int max=1;
 
    printf ("Enter the size n:");
    scanf ("%i",&n);
    printf ("Enter the elements:");
 
    for (i=0; i<n; i++) {
    for (j=0; j<n; j++)
    scanf ("%i",&a[i][j]);
 
    }
 
    }
 
    for (i=0; i<n; i++) {
    for (j=0; j<n; j++)
    printf ("%5i",a[i][j]);
    printf ("\n");
 
    } // вывод матрицы
 
    for (j=0; j<n; j++) {
 
    max = a[0][j];
    for (i=0; i<n; i++) {
 
    if (a[i][j] > max)
    max = a[i][j];
    }
 
    printf ("Max. element = %4i",max);
}
Вот корявый код с указателями:

C++ (Qt)
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
int *c,i,j,n,max=1;
 
        printf ("Enter the size n:");
        scanf ("%i",&n);
        c=(int*)malloc(n*n*sizeof(int));
 
        printf ("Enter the elements:");
 
        for (i=0; i<n; i++)
        {
            for (j=0; j<n; j++)
                scanf ("%i",n+i*j+j);
        }
        for (i=0; i<n; i++)
        {
            for (j=0; j<n; j++)
                printf ("%5i",n+i*j+j);
            printf ("\n");
 
        } // вывод матрицы
 
        for (j=0; j<n; j++)
        {
 
            max = *c;
            for (i=0; i<n; i++)
            {
 
                if (*c > max)
                    max = *c+i;
            }
 
            printf ("Max. element = %4i",max);
        }
        free(c);
        getch();
В общем, я знаю примерно в чем у меня проблема, но понять никак не могу, как ее решить.

Добавлено через 49 минут
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
int *a,i,j,n,max=1;
 
        printf ("Enter the size n:");
        scanf ("%i",&n);
        a=(int*)malloc(n*n*sizeof(int));
 
        printf ("Enter the elements:");
 
        for (i=0; i<n; i++)
        {
            for (j=0; j<n; j++)
 
                scanf ("%i",*(a+i*n+j));
        }
        for (i=0; i<n; i++)
        {
            for (j=0; j<n; j++)
                printf ("%5i",*(a+i*n+j));
            printf ("\n");
 
        } // вывод матрицы
 
        for (j=0; j<n; j++)
        {
 
            max = *(a+i*n+j);
            for (i=0; i<n; i++)
            {
 
                if (*(a+i*n+j) > max)
                    max = *(a+i*n+j);
            }
 
            printf ("Max. element = %4i",max);
        }
        free(a);
        getch();
Все запускается, только когда вводишь элементы и при записи элементов следующей строки программа прекращает работу.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru