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

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

Войти
Регистрация
Восстановить пароль
 
Andrey027
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 75
#1

В двухмерном целочисленном массиве найти указанное значение и вычислить результаты указанных действий - C++

20.01.2014, 15:55. Просмотров 577. Ответов 2
Метки нет (Все метки)

Народ помогите решить хоть какие нибудь задания а то у меня совсем не получается.

В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти указанное значение.
Массив в памяти разместить динамически (с использованием операций new и delete), ввод исходных данных и вывод полученных результатов выполнить в основной функции, а решение задачи оформить в виде отдельной функции пользователя. Не использовать глобальных переменных.
1. Найти сумму элементов, расположенных на главной диагонали.
2. Найти произведение элементов, расположенных на главной диагонали.
3. Найти максимальный элемент и поменять его с первым элементом.
4. Найти минимальный элемент и поменять его с первым элементом.
5. Найти максимальный элемент и поменять его с последним элементом.
6. Найти минимальный элемент и поменять его с последним элементом.
7. Найти количество отрицательных и положительных элементов массива.
8. Найти количество 0-й и 1-ц в массиве, а также сумму единиц.
9. Найти число элементов массива, больших T (вводится с клавиатуры) и просуммировать эти элементы.
10. Найти число элементов массива > T и их произведение.
11. Найти число элементов массива < T* и их сумму.
12. Найти число элементов массива < T* и перемножить эти элементы.
13. Найти число элементов массива = T* и сложить эти элементы.
14. Найти число элементов массива = T* и перемножить эти элементы.
15. Найти максимальный элемент среди лежащих ниже главной диагонали.
16. Найти минимальный элемент среди лежащих выше главной диагонали.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2014, 15:55     В двухмерном целочисленном массиве найти указанное значение и вычислить результаты указанных действий
Посмотрите здесь:

C++ Найти значение наиболее часто встречающееся в целочисленном массиве размера N
В одномерном целочисленном массиве вычислить сумму элементов, расположенных после минимального элемента C++
Найти в двухмерном массиве максимум и минимум, и поменять их местами C++
В целочисленном массиве из 10 элементов найти максимальный элемент и заменить все элементы, значения которых нечетные на полученное значение максималь C++
C++ 25 В двухмерном массиве хранятся результаты (время в минутах), показанные каждым из 16 велогонщиков на каж¬дом из 12 этапов соревнований (в первом сто
В данном линейном целочисленном массиве каждый элемент с четным индексом увеличить на значение индекса, с нечетным — уменьшить на значение индекса C++
В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти указанное значение. Массив в памяти разм C++
Найти максимальный элемент в двухмерном массиве C++
C++ В двухмерном массиве (размеры массива N M и значения его элементов вводить с клавиатуры) найти указанное значение
C++ В двухмерном массиве n*m (4*4) найти среднее арифметическое значение элементов первого столбца
C++ В двухмерном массиве найти максимальный и минимальный элементы и их координаты в массиве
C++ Найти максимальное значение в целочисленном массиве, не используя циклы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
20.01.2014, 16:11     В двухмерном целочисленном массиве найти указанное значение и вычислить результаты указанных действий #2
Цитата Сообщение от Andrey027 Посмотреть сообщение
Найти сумму элементов, расположенных на главной диагонали.
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 <iomanip>
 
int Sum(int **arr,int n)
{
    int sum = 0;
    for(int i=0; i<n; i++)
        sum+=arr[i][i];
    return sum;
}
 
int main()
{
    int N;
    std::cout<<"Enter N";
    std::cin>>N;
    int **mas = new int *[N];
    for(int i=0; i<N; i++)
        mas[i] = new int [N];
    std::cout<<"Enter array:\n";
    for(int i=0; i<N; i++)
        for(int j=0; j<N; j++)
            std::cin>>mas[i][j];
    std::cout<<"\nArray:\n";
    for(int i=0; i<N; i++,std::cout<<std::endl)
        for(int j=0; j<N; j++)
            std::cout<<std::setw(5)<<mas[i][j];
    std::cout<<"\nSum of the elements of the main diagonal = "<<Sum(mas,N);
 
    return 0;
}
Ev[G]eN
Эксперт С++
5096 / 1534 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
20.01.2014, 16:27     В двухмерном целочисленном массиве найти указанное значение и вычислить результаты указанных действий #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Andrey027 Посмотреть сообщение
1. Найти сумму элементов, расположенных на главной диагонали.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
int mainDiagonalSum(int **matrix, size_t matrixSize)
{
    int resultSum(0);
    for (size_t i = 0; i < matrixSize; i++) {
        resultSum += matrix[i][i];
    }
    return resultSum;
}


Цитата Сообщение от Andrey027 Посмотреть сообщение
2. Найти произведение элементов, расположенных на главной диагонали.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
int mainDiagonalMult(int **matrix, size_t matrixSize)
{
    int resultMult(1);
    for (size_t i = 0; i < matrixSize; i++) {
        resultMult *= matrix[i][i];
    }
    return resultMult;
}


Цитата Сообщение от Andrey027 Посмотреть сообщение
3. Найти максимальный элемент и поменять его с первым элементом.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void firstAndMaximalSwap(int **matrix, size_t rowsCount, size_t colsCount)
{
    int maximal(**matrix);
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++) {
            maximal = maximal < matrix[i][j] ? matrix[i][j] : maximal;
        }
    }
 
    int temp(maximal);
    maximal = **matrix;
    **matrix = temp;
}


Цитата Сообщение от Andrey027 Посмотреть сообщение
4. Найти минимальный элемент и поменять его с первым элементом.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void firstAndMinimalSwap(int **matrix, size_t rowsCount, size_t colsCount)
{
    int minimal(**matrix);
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++) {
            minimal = minimal > matrix[i][j] ? matrix[i][j] : minimal;
        }
    }
 
    int temp(minimal);
    minimal = **matrix;
    **matrix = temp;
}


Цитата Сообщение от Andrey027 Посмотреть сообщение
5. Найти максимальный элемент и поменять его с последним элементом.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void lastAndMaximalSwap(int **matrix, size_t rowsCount, size_t colsCount)
{
    int maximal(**matrix);
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++) {
            maximal = maximal < matrix[i][j] ? matrix[i][j] : maximal;
        }
    }
 
    int temp(maximal);
    maximal = matrix[rowsCount - 1][colsCount - 1];
    matrix[rowsCount - 1][colsCount - 1] = temp;
}


Цитата Сообщение от Andrey027 Посмотреть сообщение
6. Найти минимальный элемент и поменять его с последним элементом.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void firstAndMinimalSwap(int **matrix, size_t rowsCount, size_t colsCount)
{
    int minimal(**matrix);
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++) {
            minimal = minimal > matrix[i][j] ? matrix[i][j] : minimal;
        }
    }
 
    int temp(minimal);
    minimal = matrix[rowsCount - 1][colsCount - 1];
    matrix[rowsCount - 1][colsCount - 1] = temp;
}

Цитата Сообщение от Andrey027 Посмотреть сообщение
7. Найти количество отрицательных и положительных элементов массива.
Кликните здесь для просмотра всего текста
Отрицательных
C++
1
2
3
4
5
6
7
8
9
10
size_t negativeElementsCounter(int **matrix, size_t rowsCount, size_t colsCount)
{
    size_t resultCounter(0);
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++) {
            resultCounter += matrix[i][j] < 0 ? 1 : 0;
        }
    }
    return resultCounter;
}
Положительных
C++
1
2
3
4
5
6
7
8
9
10
size_t positiveElementsCounter(int **matrix, size_t rowsCount, size_t colsCount)
{
    size_t resultCounter(0);
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++) {
            resultCounter += matrix[i][j] > 0 ? 1 : 0;
        }
    }
    return resultCounter;
}


Цитата Сообщение от Andrey027 Посмотреть сообщение
8. Найти количество 0-й и 1-ц в массиве, а также сумму единиц.
Кликните здесь для просмотра всего текста
Нулей
C++
1
2
3
4
5
6
7
8
9
10
size_t zeroElementsCounter(int **matrix, size_t rowsCount, size_t colsCount)
{
    size_t resultCounter(0);
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++) {
            resultCounter += !matrix[i][j] ? 1 : 0;
        }
    }
    return resultCounter;
}
Единиц
C++
1
2
3
4
5
6
7
8
9
10
size_t oneElementsCounter(int **matrix, size_t rowsCount, size_t colsCount)
{
    size_t resultCounter(0);
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++) {
            resultCounter += matrix[i][j] == 1 ? 1 : 0;
        }
    }
    return resultCounter;
}


Цитата Сообщение от Andrey027 Посмотреть сообщение
9. Найти число элементов массива, больших T (вводится с клавиатуры) и просуммировать эти элементы.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void biggerThanTCountAndSum(int **matrix, size_t rowsCount, size_t colsCount, int T)
{
    int resultSum(0);
    size_t resultCounter(0);
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++) {
            if (matrix[i][j] > T) {
                resultSum += matrix[i][j];
                resultCounter++;
            }
        }
    }
    std::cout << "Sum: " << resultSum << "; Counter: " << resultCounter << ';' << std::endl;
}


Цитата Сообщение от Andrey027 Посмотреть сообщение
10. Найти число элементов массива > T и их произведение.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void biggerThanTCountAndMult(int **matrix, size_t rowsCount, size_t colsCount, int T)
{
    int resultMult(1);
    size_t resultCounter(0);
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++) {
            if (matrix[i][j] > T) {
                resultMult *= matrix[i][j];
                resultCounter++;
            }
        }
    }
    std::cout << "Sum: " << resultMult << "; Counter: " << resultCounter << ';' << std::endl;
}


Цитата Сообщение от Andrey027 Посмотреть сообщение
11. Найти число элементов массива < T* и их сумму.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void smallerThanTCountAndSum(int **matrix, size_t rowsCount, size_t colsCount, int T)
{
    int resultSum(0);
    size_t resultCounter(0);
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++) {
            if (matrix[i][j] < T) {
                resultSum += matrix[i][j];
                resultCounter++;
            }
        }
    }
    std::cout << "Sum: " << resultSum << "; Counter: " << resultCounter << ';' << std::endl;
}


Цитата Сообщение от Andrey027 Посмотреть сообщение
12. Найти число элементов массива < T* и перемножить эти элементы.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void smallerThanTCountAndMult(int **matrix, size_t rowsCount, size_t colsCount, int T)
{
    int resultMult(1);
    size_t resultCounter(0);
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++) {
            if (matrix[i][j] < T) {
                resultMult *= matrix[i][j];
                resultCounter++;
            }
        }
    }
    std::cout << "Mult: " << resultMult << "; Counter: " << resultCounter << ';' << std::endl;
}


Цитата Сообщение от Andrey027 Посмотреть сообщение
13. Найти число элементов массива = T* и сложить эти элементы.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void equalTCountAndSum(int **matrix, size_t rowsCount, size_t colsCount, int T)
{
    int resultSum(0);
    size_t resultCounter(0);
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++) {
            if (matrix[i][j] == T) {
                resultSum += matrix[i][j];
                resultCounter++;
            }
        }
    }
    std::cout << "Sum: " << resultSum << "; Counter: " << resultCounter << ';' << std::endl;
}


Цитата Сообщение от Andrey027 Посмотреть сообщение
14. Найти число элементов массива = T* и перемножить эти элементы.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void equalTCountAndMult(int **matrix, size_t rowsCount, size_t colsCount, int T)
{
    int resultMult(1);
    size_t resultCounter(0);
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++) {
            if (matrix[i][j] == T) {
                resultMult += matrix[i][j];
                resultCounter++;
            }
        }
    }
    std::cout << "Mult: " << resultMult << "; Counter: " << resultCounter << ';' << std::endl;
}
Yandex
Объявления
20.01.2014, 16:27     В двухмерном целочисленном массиве найти указанное значение и вычислить результаты указанных действий
Ответ Создать тему
Опции темы

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