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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Alexey M
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 15
#1

В конец массива b добавить максимальные элементы всех строк массива a - C++

06.12.2013, 23:39. Просмотров 235. Ответов 3
Метки нет (Все метки)

Дано задание: Ввести двухмерный массив a[n,m] и одномерный массив b[k]. В конец массива b добавить максимальные элементы всех строк массива a.
Попытался составить програму, но видимо она полностью неправильная. Может кто то помочь?

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
#include <iostream.h>
#include "stdAfx.h"
#include <math.h>
 
int const n=5;
int const m=5;
int k;
int mesto_max_elem;
int a[n][m];
int b[];
 
int entermassive_a(*a[][],n,m)
{
    int i,j;
    for (i=0;i<n;i++)
        for(j=0;j<m;j++)
            scanf("%d",&a[i][j]);
    return(a[n][m]);
}
    int entermassive_b(*b[],k)
    {
        int i;
        for(i=0;i<k;i++)
        scanf("%d",&b[k]);
        return(b[k]);
    }
int find_max_elem(a[],n,m)
{   int i,j;
    int max;
    a[i]=max;
    for (i=0;i<n;i++)
        for(j=0;j<m;j++)
        if(a[i]>max)
            max=a[i];
    mesto_max_elem=max;
    return(mesto_max_elem);
}
    int add_max_elem(a[],*b[],*k)
    {   k=k++
        b[k]=a[mesto_max_elem][];
        return(b[],k);
    }
    void printmassive(b[],k)
    {
        int i;
        for(i=0;i<k;i++)
            printf("%d",b[k]);
    }
void main(void)
{
    entermassive_a(&a[5][5],5,5);
    entermassive_b(&b[5],5);
    find_max_elem(a[5][5],5,5);
    add_max_elem(a[mesto_max_elem][],&b[k],&(k+1));
    printmassive(b[k],k);
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 23:39     В конец массива b добавить максимальные элементы всех строк массива a
Посмотрите здесь:

Добавить в конец массива элементы, расположенные между min и max элементами исходного массива, исключая нули - C++
добавить в конец массива элементы, расположенные между минимальными и максимальными элементами исходного массива, исключая нулевые

Определить, верно ли, что максимальные элементы всех строк А находятся в разных столбцах - C++
Дан двумерный массив А размера m на n.Определить,верно ли,что максимальные элементы всех строк А находятся в разных столбцах. Помогите...

Добавить строку в конец массива - C++
как добавить строку в конец массива string str (без использования list, векторов) ?

Удалить из массива все максимальные элементы - C++
Всем здравствуйте!!! Помогите плиз заочнику неуспевающему с контрольными из-за работы. Учусь на первом курсе. Я конечно понимаю, что позорю...

Переставить элементы массива, чередуя максимальные и минимальные - C++
Помогите с задачей, пожалуйста: Дан одномерный динамический массив. Необходимо так переставить элементы, чтобы на первом месте стоял...

Удалить из целочисленного массива все максимальные элементы - C++
Удалить из целочисленного массива все максимальные элементы и вставить после последнего удаленного минимальный элемент. Буду очень...

Массив. Поменять местами максимальные и минимальные элементы массива - C++
Здраствуйте,помогите решить задачу Дана квадратная матрица поменять местами максимальные и минимальные элементы массива решить в Borland...

Для одномерного массива удалить максимальные элементы и упорядочить по убыванию - C++
Задан массив Z(n) целых чисел. Найти максимальный элемент массива, и если это простое число – удалить все элементы, равные максимальному...

Вывести на экран максимальные элементы в каждом столбце двумерного массива - C++
Всем привет. Не могу догнать, как решить задачу с двумерным массивом с помощью указателей. Задание такое: Нужно вывести на экран...

Удалить из массива все максимальные элементы (с помощью векторов, алгоритмов) - C++
Решить надо с помощью векторов, алгоритмов. Я так не умею и вот, что у меня получилось: #include &lt;iostream&gt; #include &lt;algorithm&gt; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dzrkot
zzzZZZ...
518 / 348 / 53
Регистрация: 11.09.2013
Сообщений: 1,995
07.12.2013, 00:05     В конец массива b добавить максимальные элементы всех строк массива a #2
глядя на ваш код, я могу только посоветовать почитать С.Прата Язык Программирования С++...
Цитата Сообщение от Alexey M Посмотреть сообщение
int entermassive_a(*a[][],n,m)
Если вы описываете функцию, то в ней надо указывать тип для входного аргумента, как компилятор узнает какой тип для переменной n , m ...Ему же надо выделить под них память...*a[][] это вообще жесть

Цитата Сообщение от Alexey M Посмотреть сообщение
return(b[k]);
непонятно как вы к такому пришли...

Цитата Сообщение от Alexey M Посмотреть сообщение
int i,j;
int max;
a[i]=max;
а здесь вы вообще чудеса творите, вы выделили память под max, после чего не инициализщируете его, а вместо этого присваиваете то, что было в той памяти, которую выделили под мах, в a[i]...При этом i вы тоже не инициализировали, т.е. i это тоже просто космический набор мусора из памяти

Вроде какие-то знания у вас и есть, и логика(хоть и нетрезвая) присутствует, но ппц....я даже не всё смотрел, только 3 строчки на которые глаз упал, там ошибка на ошибке походу....читайте книги...
qwestcl
10 / 10 / 1
Регистрация: 30.09.2012
Сообщений: 172
07.12.2013, 00:35     В конец массива b добавить максимальные элементы всех строк массива a #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
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
82
83
84
85
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
const int n = 5;
const int m = 5;
const int k = 10;
int a[n][m] = {{0}};
int b[k+n] = {0};
 
void entermassive_a(int a[][m], int n, int m);
void entermassive_b(int b[], int k);
void findAndAddMaxElement(int a[][m], int b[], int n, int m, int k);
void showAll(int b[], int a[][m], int m, int k, int n);
 
int main()
{
    entermassive_a(a, n, m);
    entermassive_b(b, k);
    findAndAddMaxElement(a,b,n,m,k);
    showAll(b, a, m, k, n);
 
    return 0;
}
 
void entermassive_a(int a[][m], int n, int m) {
    int i, j;
 
    for (i = 0; i < n; ++i) {
        for (j = 0; j < m; ++j) {
            cout << "Enter a[" << i+1 << "][" << j+1 << "]: ";
            scanf("%d", &a[i][j]);
        }
    }
}
 
void entermassive_b(int b[], int k) {
    int i;
 
    for (i = 0; i < k; ++i) {
        cout << "Enter b[" << i+1 << "]: ";
        scanf("%d", &b[i]);
    }
}
 
void findAndAddMaxElement(int a[][m], int b[], int n, int m, int k) {
    int i, j;
    int max;
 
    for (i = 0; i < n; ++i) {
        max = a[i][0];
        for (j = 0; j < m; ++j) {
            if (a[i][j] > max)
                max = a[i][j];
        }
        b[k+i] = max;
    }
}
 
void showAll(int b[], int a[][m], int m, int k, int n) {
    int i, j;
 
    cout << "A: " << endl;
    for (i = 0; i < n; ++i) {
        for (j = 0; j < m; ++j) {
            printf("%4d", a[i][j]);
        }
        cout << endl;
    }
 
    cout << endl;
 
    cout << "B before adding max elements: " << endl;
    for (i = 0; i < k; ++i) {
        printf("%4d", b[i]);
    }
 
    cout << endl;
 
    cout << "B after adding max elements: " << endl;
    for (i = 0; i < k+n; ++i) {
        printf("%4d", b[i]);
    }
}
Alexey M
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 15
07.12.2013, 00:47  [ТС]     В конец массива b добавить максимальные элементы всех строк массива a #4
Большое спасибо
Yandex
Объявления
07.12.2013, 00:47     В конец массива b добавить максимальные элементы всех строк массива a
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru