Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Мария55593
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 73
#1

Заменить все минимальные элементы противоположными по значению - C++

18.05.2012, 19:02. Просмотров 656. Ответов 7
Метки нет (Все метки)

Помогите пожалуйста!!!
для работы с двумерными массивами арифметических типов данных разработать шаблоны ввода и вывода массива, а также шаблон для решения основной задачи:
Заменить все минимальные элементы противоположными по значению.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2012, 19:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заменить все минимальные элементы противоположными по значению (C++):

Заменить все отрицательные элементы противоположными им числами - C++
помогите пжлст)))

Заменить все отрицательные элементы ,не кратные 3,противоположными им числами. - C++
Дана последовательность целых чисел. (решить двумя способами ,используя одномерный массив,а затем двумерный) Заменить все...

Заменить все отрицательные элементы последовательности не кратные 3 противоположными им числам - C++
Ребят, помогите с++ Заменить все отрицательные элементы, не кратные 3, противоположными им числам

В матрице все ненулевые элементы заменить обратными по величине и противоположными по знаку - C++
Прошу помощи. Болел - ничего не понял. Скоро экзамен, а я ничего не понимаю в С++. Дали примерные задачи, а я не понимаю как решать. Вот...

В матрице A(m,n) все не нулевые элементы заменить обратными по величине и противоположными по знаку - C++
Вот задание: В матрице A(m,n) все не нулевые элементы заменить обратными по величине и противоположными по знаку. #include <iostream> ...

Заменить все минимальные элементы на противоположные. - C++
Дана последовательность из n действительных чисел. (задачу решить,используя одномерный массив) Заменить все минимальные элементы на...

7
MrGluck
Модератор
Эксперт CЭксперт С++
7525 / 4663 / 704
Регистрация: 29.11.2010
Сообщений: 12,738
18.05.2012, 19:33 #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
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>
 
template <typename T>
void print(T **, int, int);
template <typename T>
void fill(T **, int, int);
template <typename T>
void convertMin(T **, int, int);
 
int main()
{
    const int M = 5, N = 3;
    int **arr = new int*[M];
    for (int i=0; i < M; i++)
        arr[i] = new int[N];
    fill(arr, M, N);
    print(arr, M, N);
    convertMin(arr, M, N);
    print(arr, M, N);
    for (int i=0; i < M; i++)
        delete []arr[i];
    delete []arr;
    return 0;
}
 
template <typename T>
void print(T **arr, int M, int N)
{
    std::cout<< std::endl;
    for (int i=0; i < M; i++)
    {
        for (int j=0; j < N; j++)
            std::cout<< arr[i][j]<< " ";
        std::cout<< std::endl;
    }
}
 
template <typename T>
void fill(T **arr, int M, int N)
{
    for (int i=0; i < M; i++)
        for (int j=0; j < N; j++)
            std::cin>> arr[i][j];
}
 
template <typename T>
void convertMin(T **arr, int M, int N)
{
    T min = arr[0][0];
    for (int i=0; i < M; i++)
        for (int j=0; j < N; j++)
            if (arr[i][j] < min) min = arr[i][j];
    for (int i=0; i < M; i++)
        for (int j=0; j < N; j++)
            if (arr[i][j] == min) arr[i][j] *= -1;
}
1
Мария55593
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 73
18.05.2012, 19:58  [ТС] #3
Скажите почему у меня программка не компилируется???
0
MrGluck
Модератор
Эксперт CЭксперт С++
7525 / 4663 / 704
Регистрация: 29.11.2010
Сообщений: 12,738
18.05.2012, 20:12 #4
Цитата Сообщение от Мария55593 Посмотреть сообщение
Скажите почему у меня программка не компилируется???
Ну , звезды говорят, что у вас в компьютере живет злобный гномик, которого вы не кормили молоком и печеньем, и теперь он не дает компилятору нормально обработать код.

А возможно, я бы смог лучше разобраться в сием вопросе, если видел бы код ошибки.

P.S. код вобще рабочий
1
gray_fox
What a waste!
1529 / 1234 / 71
Регистрация: 21.04.2012
Сообщений: 2,597
Завершенные тесты: 3
18.05.2012, 20:34 #5
Для статических массивов:
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 <algorithm>
 
 
template<typename Type, std::size_t N, std::size_t M>
std::istream & operator >>(std::istream & istream, Type (&matrix)[N][M]) {
    for (std::size_t i = 0; i != N; ++i) {
        for (std::size_t j = 0; j != M; ++j) {
            istream >> matrix[i][j];
        }
    }
    return istream;
}
 
template<typename Type, std::size_t N, std::size_t M>
std::ostream & operator <<(std::ostream & ostream, Type (&matrix)[N][M]) {
    for (std::size_t i = 0; i != N; ++i) {
        for (std::size_t j = 0; j != M; ++j) {
            ostream << matrix[i][j] << " ";
        }
        ostream << std::endl;
    }
    return ostream;
}
 
template<typename Type, std::size_t N, std::size_t M>
void invert_mins(Type (&matrix)[N][M]) {
    Type min = *std::min_element(&matrix[0][0], &matrix[0][0] + N * M);
    std::replace(&matrix[0][0], &matrix[0][0] + N * M, min, -min);
}
 
 
int main() {
    std::size_t const N = 4;
    std::size_t const M = 5;
    int matrix[N][M];
    std::cin >> matrix;
    invert_mins(matrix);
    std::cout << matrix;
}
1
Мария55593
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 73
18.05.2012, 20:49  [ТС] #6
Ну если хотите посмотреть, то приходите в гости!!!А если серьёзно, то мой компилятор называется DEV C++ при компилировании открывается окно:Compile Progress и в нём есть выделенная строка Status: Done
0
MrGluck
Модератор
Эксперт CЭксперт С++
7525 / 4663 / 704
Регистрация: 29.11.2010
Сообщений: 12,738
18.05.2012, 21:23 #7
Мария, всенепременно, при условии, что вкусно накормите.
Вот, компилятор Dev C++
1
Мария55593
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 73
18.05.2012, 22:20  [ТС] #8
Я люблю готовить!!!Особенно для кого то!!!А вы где живёте??
0
18.05.2012, 22:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2012, 22:20
Привет! Вот еще темы с ответами:

Заменить все минимальные элементы одномерного массива на противоположные - C++
Дана последовательность из n действительных чисел. Заменить все минимальные элементы на противоположные Одномерный массив

Заменить все минимальные элементы значениями, равными заданному числу - C++
Заполнить целочисленный двухмерный массив размера NM случайными числами в диапазоне от -200 до 200. Заменить все минимальные элементы...

Заменить все минимальные элементы вектора максимальным значением его элементов - C++
2) заменить все минимальные элементы вектора максимальным значением его элементов

Заменить минимальные элементы списка числом 1 - C++
Помогите, пожалуйста, решить задачу в С++. Сформировать список из натуральных чисел. Заменить минимальные элементы списка числом 1.


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

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

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