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

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

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

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

20.01.2014, 15:55. Просмотров 608. Ответов 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. Найти минимальный элемент среди лежащих выше главной диагонали.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2014, 15:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В двухмерном целочисленном массиве найти указанное значение и вычислить результаты указанных действий (C++):

В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти указанное значение. Массив в памяти разм - C++
Помогите решить задания: На простом языке программирования чтобы было просто и понятно. 4. Найти минимальный элемент и поменять его...

В двухмерном массиве (размеры массива N M и значения его элементов вводить с клавиатуры) найти указанное значение - C++
Тема вот такая ДВУХМЕРНЫЕ ДИНАМИЧЕСКИЕ МАССИВЫ, ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ. Задание: В двухмерном массиве (размеры массива N, M и значения...

Найти максимальное значение в целочисленном массиве, не используя циклы - C++
Дан массив X типа int и его размер n. Найти величину максимума массива без использования каких-либо операторов цикла.

В двухмерном массиве n*m (4*4) найти среднее арифметическое значение элементов первого столбца - C++
В двухмерном массиве n*m (4*4) найти среднее арифметическое значение элементов первого столбца и количество элементов первого столбца...

Найти значение наиболее часто встречающееся в целочисленном массиве размера N - C++
Люди добрые ПОМОГИТЕ ПОЖАЛУЙСТА решить задачу - ЗАВТРА СДАВАТЬ !!!! Условие: Задан Целочисленный массив размера N. Найти значение...

В заданном массиве найти количество элементов, отличающихся от минимального на указанное значение - C++
Добрый день. Есть задание - нужно узнать количество элементов массива, которые отличаются от минимального на 5. Помогите написать на С++,...

2
cooller
565 / 533 / 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;
}
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 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;
}
9
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2014, 16:27
Привет! Вот еще темы с ответами:

25 В двухмерном массиве хранятся результаты (время в минутах), показанные каждым из 16 велогонщиков на каж¬дом из 12 этапов соревнований (в первом сто - C++
25 В двухмерном массиве хранятся результаты (время в минутах), показанные каждым из 16 велогонщиков на каж¬дом из 12 этапов соревнований (в...

В целочисленном массиве из 10 элементов найти максимальный элемент и заменить все элементы, значения которых нечетные на полученное значение максималь - C++
В целочисленном массиве из 10 элементов найти максимальный элемент и заменить все элементы, значения которых нечетные на полученное...

В двухмерном массиве найти максимальный и минимальный элементы и их координаты в массиве - C++
&quot;В двухмерном массиве, размещенном в куче и заполненном случайными вещественными значениями, определить максимальных и минимальный элемент...

В данном линейном целочисленном массиве каждый элемент с четным индексом увеличить на значение индекса, с нечетным — уменьшить на значение индекса - C++
В данном линейном целочисленном массиве каждый элемент с четным индексом увеличить на значение индекса, с нечетным — уменьшить на значение...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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