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

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

Восстановить пароль Регистрация
 
KHRONOS
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 5
14.12.2012, 18:30     Двумерный массив. (написать ф-цию для уменьш. на 5 значений тех элем. матрицы, котор. кратны 3 и нах-ся в пределах от 0 до 50) #1
Сформировать матрицу целых чисел. Количество строк и столбцов ввести с клавиатуры. Написать функцию для уменьшения на 5 значений тех элементов матрицы, которые кратны 3 и находятся в пределах от 0 до 50.

Не могу сделать последние задание.Точнее не знаю как уменьшить каждый елемент который кратный 3 на 5((
Буду благодарен за помощь.

Вот мои нароботки:

Source File:
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
#include <iostream>
#include "vvid.h"
#include "vivid.h"
#include "det.h"
 
using namespace std;
 
void vvid(int, int, int**);
void vivid(int, int, int**);
int sum(int, int, int**);
int main()
 
{
    int n, m, i;
    cout << "How many string's?:";
    cin>> n;
    cout << "How many column's?:";
    cin>> m;
    int **a; a = new int *[n];
    for(i=0; i<n; i++)
    a[i] = new int[m];
    vvid(n, m ,a);
    cout << "It's your array:" << endl;
    vivid(n, m, a);
    cout << "It's your array after transformation" << endl;
    det(n, m, a);
    vivid(n, m, a);
    cin.get();
    cin.get();
    return 0;
}
Header File "vvid.h"
C++
1
2
3
4
5
6
7
8
9
10
void vvid(int n, int m, int **a)
{
    int i, j;
    for(i=0; i<n; i++)
        for(j=0; j<m; j++)
        {
            std::cout << "Please input element number["<<i+1<<"] [" << j+1 << "]:";
            std::cin>> a[i][j];
        }
}
Header File "vivid.h"
C++
1
2
3
4
5
6
7
8
9
10
void vivid(int n, int m, int **a)
{
    int i, j;
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
            std::cout << a[i][j] << " ";
        std::cout << std::endl;
    }
}
Header File "det.h"

C++
1
2
3
4
5
6
7
8
9
10
void det(int n, int m, int **a)
{
    int i, j;
    for(i=0; i<n; i++)
        for(j=0; j<m; j++)
        {
            if(i%3 == 0 && a[i][j]>0 && a[i][j]<=50)
            a[i][j]-=5;
        }
}
Добавлено через 41 минуту
Почему-то меняет несколько елементов на -5
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2012, 18:30     Двумерный массив. (написать ф-цию для уменьш. на 5 значений тех элем. матрицы, котор. кратны 3 и нах-ся в пределах от 0 до 50)
Посмотрите здесь:

В массив A[N] занесены натуральные числа.Найти сумму тех элементов, которые кратны данному К C++
C++ Посчитать произведение тех цифр числа, которые кратны 3
C++ В массив B[n] занесены натуральные числа. Найти сумму тех элементов, которые кратны данному f
работа с последовательностью (удалить из массива элем-т, расположенный после 1-го элем-та с max значением, и элем-т после 1-го элем-та с min знач.) C++
C++ В массив A[N] занесены натуральные числа.Найти сумму тех элементов, которые кратны данному K.
C++ Двумерный целочисленный массив A(m;n) задается с экрана, либо генерируется в пределах от -100 до 100. Найти числа b1,b1,.bm, равные наименьшим значен
Написать функцию для вычисления произведения значений матрицы вещественных или целых чисел C++
C++ Вывести индексы тех элементов матрицы, значения которых кратны 5

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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