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

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

Войти
Регистрация
Восстановить пароль
 
ilsurgaripov
-12 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 15
#1

[C++] Замена отрицательных элементов их модулями - C++

30.11.2011, 08:43. Просмотров 501. Ответов 8
Метки нет (Все метки)

Задание:
Разработать подпрограмму, заменяющую все отрицательные элементы исходной матрицы их модулями и возвращающую кол-во измененных элементов.
Применить эту подпрограмму для изменения заданной матрицы ТЕМ.

0.5 -14.7 -1.004
ТЕМ= 32 124.9 2.25
-7.6 -251 0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2011, 08:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос [C++] Замена отрицательных элементов их модулями (C++):

[C++] Замена отрицательных элементов их модулями - C++
Здравствуйте, программисты:) прошу вас помощь с программой. Разработать программу, написав предварительно подпрограмму. Задание...

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

Замена отрицательных элементов первой строчки на 0 - C++
Дана целочисленная матрица размера 5х5. Заменить в данной матрице все отрицательные элементы первой строки на 0.

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

Исправить код, чтобы он считал не сумму отрицательных элементов, а количество отрицательных элементов? - C++
Доброго времени суток. Есть код #include <iostream> using namespace std; #define I 3 #define J 4 void inputmas(float ,...

Работа с модулями элементов массива - C++
Здравствуйте, мне нужна ваша помошь, вот есть данная задача, но ее нужно сделать с помощью указателя, а как это сделать я не пойму(...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
30.11.2011, 09:27 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int func ( int **matrix, int N, in M )
{
int counter = 0;
for ( int i = 0; i < N; i ++ )
     for ( int j = 0; j < M; j ++ )
     {
             if ( matrix[i][j] < 0 )
             {
                   matrix[i][j] = abs(matrix[i][j];    // модуль
                   counter++;          // Количество измененных эл-ов
              }
      }
return counter;
}
ilsurgaripov
-12 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 15
30.11.2011, 10:06  [ТС] #3
co6ak, а как вот объявить эту матрицу ТЕМ после функции?
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
30.11.2011, 10:22 #4
не очень понял вопроса.
ну допустим есть матрица
C++
1
2
3
4
int ** TEM;
TEM = new int* [N];
for ( int i = 0; i < N; i ++ )
     TEM[i] = new int [M];
где N и M заранее вводятся с клавиатуры до объявления матрицы
потом как-то заполняешь ее.
и делаешь примерно так
C++
1
std::cout << "Number of changed elements: " << func ( TEM, N, M ) << std::endl;
после функции у тебя матрица будет изменена.
ilsurgaripov
-12 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 15
30.11.2011, 10:23  [ТС] #5
co6ak, спасибо тебе)
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
30.11.2011, 10:30 #6
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>
#include <stdlib.h>
#include <time.h>
 
 
int func ( int **, int , int );
 
int main ()
{
    srand( time ( NULL ) );
    int ** TEM;
    std::cout << "Enter number of rows: ";
    int N;
    std::cin  >> N;
    std::cout << "\nEnter number of columns: ";
    int M;
    std::cin  >> M;
 
    TEM = new int * [N];
    for ( int i = 0; i < N; i ++ )
        TEM[i] = new int [M];
 
    for ( int i = 0; i < N; i ++ )
    {
        for ( int j = 0; j < M; j ++ )
            TEM[i][j] = rand() % 100 - rand() % 50;
    }
 
    for( int i = 0; i < N; i ++ )
    {
        for ( int j = 0; j < M; j ++ )
            std::cout << TEM[i][j] << "\t";
        std::cout << std::endl;
    }
 
    std::cout << "\nNumber of changed elements: " << func (TEM, N, M) << std::endl;
 
    std::cin.get();
    std::cin.get();
    return 0;
}
 
int func ( int **matrix, int N, int M )
{
int counter = 0;
for ( int i = 0; i < N; i ++ )
     for ( int j = 0; j < M; j ++ )
     {
             if ( matrix[i][j] < 0 )
             {
                   matrix[i][j] = abs(matrix[i][j]);    // модуль
                   counter++;          // Количество измененных эл-ов
              }
      }
return counter;
}
вот код короче
ilsurgaripov
-12 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 15
30.11.2011, 11:03  [ТС] #7
если честно, я не очень понял что она делает.
у меня было Задание:
Разработать подпрограмму, заменяющую все отрицательные элементы исходной матрицы их модулями и возвращающую кол-во измененных элементов.
Применить эту подпрограмму для изменения заданной матрицы ТЕМ, причем в случае совпадения числа измененных элементов с общим числом элементов в матрице предусмотреть дополнитьно вывод на печать поясняющего текста. В программе вывести также на экран матрицу после изменения.
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
30.11.2011, 11:06 #8
перед std::cin.get()
вставь
C++
1
2
3
4
5
6
    for( int i = 0; i < N; i ++ )
    {
        for ( int j = 0; j < M; j ++ )
            std::cout << TEM[i][j] << "\t";
        std::cout << std::endl;
    }
увидишь что делает
ilsurgaripov
-12 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 15
30.11.2011, 11:10  [ТС] #9
co6ak, а все понятно, благодарю!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2011, 11:10
Привет! Вот еще темы с ответами:

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

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

Массив(Замена выбранных элементов). Область памяти(замена выбранных элементов) - C++
Собственно 3 задачи в которых нужна помощь...Может кто нить встречался с таким родом задач? 1.Создать массив из 20 элементов,...

Замена отрицательных значений в файле нулями - C++
Написал код, для замены отрицательных значений в файле нулями...не могу понять где ошибки, подскажите пожалуйста #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.11.2011, 11:10
Ответ Создать тему
Опции темы

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