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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Получить размер консольного окна http://www.cyberforum.ru/cpp-beginners/thread1076490.html
Есть код:#include "stdafx.h" #include <iostream> #include "Lib.h" #include <conio.h> #include <cstdlib> #include <Windows.h> using namespace std; int main() {
C++ Массивы. Поменять все элементы над главной диагональю на 1 поменять все элементы над главной диагональю на 1 http://www.cyberforum.ru/cpp-beginners/thread1076460.html
C++ Вывести массив на экран в виде таблицы, в конце каждой строки надо вывести минимальный элемент
Ребят , как вывести маленький элемент , что изменить в коде знак ">" меняю на "<" - не выходит. #include <iostream> #include <Windows.h> using namespace std; int main() { const int n = 4, m = 5; int a; for (int r = 0; r < n; ++r) { for (int c = 0; c < m; ++c) {
Написание програм на андроиде C++
У меня есть планшет на котором стоит Андроид.Посоветуйте пожалуйста какую-то программу (Интегрированную среду разработки ,типа Visual Studio) на андроид,чтобы можно было писать программы на С++.
C++ Как верно экспортить функцию? http://www.cyberforum.ru/cpp-beginners/thread1076411.html
#define _DECLARATOR_ __declspec(dllexport) _DECLARATOR_ void __cdecl SumFunc() { return; } .text:10001000 ; void __cdecl SumFunc(void *__formal, void *__formal)
C++ Вычислить значение выражения Помогите, надо написать программу решения задачи. подробнее

Показать сообщение отдельно
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
20.01.2014, 16:27     В двухмерном целочисленном массиве найти указанное значение и вычислить результаты указанных действий
Цитата Сообщение от 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;
}
 
Текущее время: 01:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru