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

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

Восстановить пароль Регистрация
 
ilsurgaripov
 Аватар для ilsurgaripov
-12 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 15
29.11.2011, 16:41     [C++] Замена отрицательных элементов их модулями #1
Здравствуйте, программисты
прошу вас помощь с программой.


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

0.5 -14.7 -1.004
ТЕМ= 32 124.9 2.25
-7.6 -251 0


я что то пытался писать, не получается
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
29.11.2011, 17:31     [C++] Замена отрицательных элементов их модулями #2
Цитата Сообщение от ilsurgaripov Посмотреть сообщение
я что то пытался писать, не получается
попытки в студию, это повысит ваши шансы
ilsurgaripov
 Аватар для ilsurgaripov
-12 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 15
29.11.2011, 22:18  [ТС]     [C++] Замена отрицательных элементов их модулями #3
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
#include <iostream>
#include <cmath>
 
int function(double *fMatrix, size_t fN, size_t fM)
{
    double c;
    int count = 0;
    for (int  i = 0; i<fN*fM; i++)
    {
        if (fMatrix[i]<0)
        {
            c = fMatrix[i];
            fMatrix[i]=abs(c);
            count++;
        }
    }
    return count;
}    
 
int main()
{ 
         using namespace std;
         const size_t cNMax=100;
         double arrA[cNMax*cNMax];
         size_t M,N;
         cin>>M;
         cin>>N;
         for (int  i = 0; i<N*M; i++)
             cin>>arrA[i];
         int otr = function(arrA,N,M); 
         cout<<"Chislo otricatelnih elementov: "<<otr<<endl;
         cout<<"\n Izmenennaja matrica\n";
         for (int  i = 0; i<N*M; i++)
            cout<<arrA[i];
         cout<<endl;
         if (otr==N*M) cout<<"\n Chislo otricatelnih = chisly elementov v matrice\n";       
}
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
30.11.2011, 14:12     [C++] Замена отрицательных элементов их модулями #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
size_t repl_neg(double *mtx, size_t r, size_t c)
{
    size_t size, n;
    
    size = r * c;
    n = 0;
    for (size_t i = 0; i < size; i++)
        if (mtx[i] < 0) {
            mtx[i] = -mtx[i];
            n++;
        }
    return n;
}
ilsurgaripov
 Аватар для ilsurgaripov
-12 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 15
30.11.2011, 14:24  [ТС]     [C++] Замена отрицательных элементов их модулями #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
41
42
43
44
45
46
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
 
 
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*N+j]<0)
            {
                matrix[i*N+j]=abs(matrix[i*N+j]);    // модуль
                counter++;          // Количество измененных эл-ов
            }
        }
        return counter;
}
int main()
{
    using namespace std;
    int i, j, N, M;
    cout<<"enter N ";
    cin>>N;
    cout<<"m? ";
    cin>>M;
    int *matrix=new int[N*M];
    for (int i=0;i<N;i++)
        for (int j=0; j<M; j++)
        {
            cout<<"enter "<<(i*N+j)<<" ";
          cin>>matrix[i*N+j];
        }
        func(matrix,N,M);
 
        for (int i=0;i<N;i++)
        for (int j=0; j<M; j++)
        {
            cout<<matrix[i*N+j]<<" ";
        }
        getch();
 
 
}
Yandex
Объявления
30.11.2011, 14:24     [C++] Замена отрицательных элементов их модулями
Ответ Создать тему
Опции темы

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