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

Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
Мирзали
 Аватар для Мирзали
4 / 5 / 1
Регистрация: 20.11.2010
Сообщений: 353
21.07.2011, 00:17     Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива. #1
Дан двумерный массив целых чисел. Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2011, 00:17     Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива.
Посмотрите здесь:

C++ Дан двумерный массив. Сформировать одномерный массив, каждый элемент которого равен среднему арифметическому четных положительных элементов соответств
Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца C++
C++ Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу
Массив: Построить из динамического одномерный массив,каждый элемент, которого равен сумме элементов одной строки исходной матрицы. C++
C++ Двумерный массив. Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.07.2011, 05:22     Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива. #2
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
#include <iostream>
#include <iomanip>
#include <stdlib.h>
 
int main()
{
    srand(time(NULL));
    int n, m;
    std::cin >> n >> m;
    int** arr = new int* [n];
    int* arr2 = new int [n];
    for (int i = 0; i < n; ++i)
    {
        arr[i] = new int [m];
        arr2[i] = 0;
        for (int j = 0; j < m; ++j)
        {
            arr[i][j] = rand() % 200 - 100;
            if (abs(arr[i][j]) > arr2[i])
                arr2[i] = abs(arr[i][j]);
            std::cout << std::setw(5) << arr[i][j];
        } 
        std::cout << std::endl;
    }
    std::cout << std::endl;
    for (int i = 0; i < n; ++i)
        std::cout << std::setw(5) << arr2[i];
    system("pause");
    return 0;
}
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
21.07.2011, 08:32     Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива. #3
soon, раз матрица дана, то её нужно вводить, а не рандомить
soon
21.07.2011, 10:32
  #4

Не по теме:

iama, я так думаю, что даже с минимальными знаниями языка ТС сможет поправить под себя эту программу. Ведь если давать кристально чистое решение, вплоть до обработки всех исключений, то что останется делать ему самому? Только брать решение, и уносить отсюда ноги, не сказав спасибо. А так, возможно, топик стартеры будут думать, чему нибудь научатся, и снова вернутся на форум, уже чтобы помочь другим.
ps/ Кроме того, написать пару строчек кода быстрее, чем потом вводить массив при проверке.

iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
21.07.2011, 12:01     Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива. #5
soon, 80% посетителей форума не знают что такое int, а вы хотите чтобы они сами код правили
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
21.07.2011, 12:08     Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива. #6
iama, Угнетающая статистика какая то. А откуда такие цифры, если не секрет?
soon, Нифига там новичек... больше чем полгода зареган, 300+ сообщений и видать все такие - "дайте программу". И Сдавать преподу бегом...
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
21.07.2011, 12:24     Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива. #7
Цитата Сообщение от zulkis Посмотреть сообщение
Угнетающая статистика какая то.
почему ? нам то какая разница?
An1ka
65 / 70 / 2
Регистрация: 30.06.2011
Сообщений: 176
21.07.2011, 12:25     Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива. #8
Цитата Сообщение от iama Посмотреть сообщение
soon, 80% посетителей форума не знают что такое int, а вы хотите чтобы они сами код правили
Тогда прикажите использовать шаблоны ? Шаблоны в данном случаи еще меньший процент не знает...
soon
21.07.2011, 12:59
  #9

Не по теме:

Цитата Сообщение от iama Посмотреть сообщение
а вы хотите чтобы они сами код правили
Очень хочу. Полез в программирование - нужно включить мозги.
Цитата Сообщение от zulkis Посмотреть сообщение
soon, Нифига там новичек... больше чем полгода зареган, 300+ сообщений и видать все такие - "дайте программу". И Сдавать преподу бегом...
Об этом и речь. Сумеет поправить под себя, нет - его проблемы, я просто подсказал направление, пусть сам себя подпинывает.
Цитата Сообщение от iama Посмотреть сообщение
80% посетителей форума
Ну это уж вы загнули. Хотя возможно, если это поисковые боты

Konstantin_D
 Аватар для Konstantin_D
14 / 14 / 2
Регистрация: 21.07.2011
Сообщений: 89
21.07.2011, 13:27     Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива. #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
#include<stdlib.h>
using namespace std;
 
int main()
{
    const int AR_SIZE = 5; //Размерность массивов
    int Arr1[2][AR_SIZE] = {{-2, -3, 4, 5, -6}, {1, 4, -3, 4, 7}}; //Массив с данными
 
    int Arr2[AR_SIZE]; //Создаем выходной массив
    for (int i=0; i<AR_SIZE; i++)
        Arr2[i] = (abs(Arr1[0][i]) > abs(Arr1[1][i])) ? Arr1[0][i] : Arr1[1][i];
 
    return 0;
}
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.07.2011, 13:41     Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива. #11
Костя, задание читаем.
соответствующей строки
у вас - столбец
iama
21.07.2011, 17:48
  #12

Не по теме:

Цитата Сообщение от zulkis Посмотреть сообщение
iama, Угнетающая статистика какая то. А откуда такие цифры, если не секрет?
Про 95% не слышали? Эт я еще смягчил. Посчитайте долю студентов, которым нафиг знания не нужны, нужны только готовые задания, оно где-то так и выйдет.
Цитата Сообщение от An1ka Посмотреть сообщение
Тогда прикажите использовать шаблоны ? Шаблоны в данном случаи еще меньший процент не знает...
Вы меня неправильно поняли я имел в виду, что у большей части посетителей нет даже самых элементарных знаний
Цитата Сообщение от soon Посмотреть сообщение
Очень хочу. Полез в программирование - нужно включить мозги.
И я хочу. А они - не хотят.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2011, 18:16     Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива.
Еще ссылки по теме:

Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца двумерного массива C++
Задача по многомерным массивам (Сформировать одномерный массив, каждый элемент которого равен количеству элементов соответствующей строки, больших да) C++
C++ Создать массив, каждый элемент которого равен среднему арифметическому соответствующей строки данной матрицы

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
21.07.2011, 18:16     Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива. #13

Не по теме:

iama, задание всё-таки на то, какой элемент в строке массива наибольший по модулю, а не на то, откуда он там взялся. У меня вот в примере матрица 7х10 - это мне 70 чисел придумывать? Да ну! Если не понимают, но интересно - спросят, а не спросят - значит и так сошло...
И давайте офтоп прекращать.


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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int * abs_max(const int * arr, size_t size){
    return ( size < 2 ) ? (int*)arr : ( abs(*arr) < abs(*(arr + size - 1)) ) ? abs_max(arr + 1, size - 1) : abs_max(arr, size - 1);
}
 
#define ROWS 7
#define COLUMNS 10
#define rnd(a, b) ((rand() % ((b) - (a) + 1)) + (a))
 
int main(void){
    int matrix[ROWS][COLUMNS], amelements[ROWS], i, j;
    
    srand(time(NULL));
    for ( i = 0; i < ROWS; ++i )
        for ( j = 0; j < COLUMNS; ++j )
            matrix[i][j] = rnd(-10, 10);
            
    for ( i = 0; i < ROWS; ++i )
        amelements[i] = *abs_max(matrix[i], COLUMNS);
    
    printf("Matrix:                                    ABS_MAX\n");
    for ( i = 0; i < ROWS; ++i ){
        for ( j = 0; j < COLUMNS; ++j )
            printf("%4d", matrix[i][j]);
        printf("%7d\n", amelements[i]);
    }
    
    return 0;
}
Yandex
Объявления
21.07.2011, 18:16     Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующей строки двумерного массива.
Ответ Создать тему
Опции темы

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