Вопрос задан 17.07.2023 в 15:01. Предмет Информатика. Спрашивает Трегубенко Александр.

В двумерном динамическом массиве найти сумму всех элементов нечётной строки.

0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Евсеева Алёна.

Двумерный динамический массив задается пользователем. Программа находит сумму элементов всех нечетных строк.

Если требовался иной алгоритм, сообщите об этом.

Код программы приведен на языке C++.

Тестирование проводилось в среде разработки Visual Studio 2017, v.15.7.5.

int main()

{

setlocale(LC_ALL, "Russian");

int N, M, i, j, SumOddRows = 0;

cout << "Введите кол-во строк матрицы:";

cin >> N;

cout << "Введите колво столбцов матрицы: ";

cin >> M;

int** arr = new int*[N];

cout << endl;

cout << "Заполните матрицу " << N << 'х' << M << endl;

for (i = 0; i < N; i++)

 arr[i] = new int[M];

for (i = 0; i < N; i++)

{

 for (j = 0; j < M; j++)

 {

  cout << "Введите число: ";

  cin >> arr[i][j];

 }

}

cout << "Исходная матрица: " << endl;

for (i = 0; i < N; i++)

{

 for (j = 0; j < M; j++)

 {

  if (i % 2 == 0)

   SumOddRows += arr[i][j];

  cout << arr[i][j] << " ";

 }

 cout << endl;

}

cout << "Сумма элементов в неч. строках:  " << SumOddRows << endl;

system("pause");

return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для нахождения суммы всех элементов нечетной строки в двумерном динамическом массиве, вам нужно выполнить следующие шаги:

  1. Определить размеры массива и выделить память под него.
  2. Заполнить массив случайными или заданными значениями.
  3. Найти и сложить элементы нечетных строк.

Давайте предположим, что у вас уже есть функция для выделения памяти под двумерный динамический массив allocate_2d_array и функция для генерации случайных чисел get_random_number.

Пример кода на языке C++:

cpp
#include <iostream> #include <cstdlib> // Для функции rand() #include <ctime> // Для функции time() // Функция для выделения памяти под двумерный динамический массив int** allocate_2d_array(int rows, int cols) { int** array = new int*[rows]; for (int i = 0; i < rows; ++i) { array[i] = new int[cols]; } return array; } // Функция для генерации случайного числа в диапазоне [min, max] int get_random_number(int min, int max) { return rand() % (max - min + 1) + min; } int main() { // Задайте размеры массива int rows, cols; std::cout << "Введите количество строк: "; std::cin >> rows; std::cout << "Введите количество столбцов: "; std::cin >> cols; // Выделите память под массив int** array = allocate_2d_array(rows, cols); // Заполните массив случайными числами от 1 до 100 srand(time(0)); // Инициализация генератора случайных чисел for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { array[i][j] = get_random_number(1, 100); } } // Найдите сумму элементов нечетных строк int sum = 0; for (int i = 0; i < rows; i += 2) { // Перебираем только нечетные строки (индексация с 0) for (int j = 0; j < cols; ++j) { sum += array[i][j]; } } // Выведите результат std::cout << "Сумма элементов нечетных строк: " << sum << std::endl; // Освободите память for (int i = 0; i < rows; ++i) { delete[] array[i]; } delete[] array; return 0; }

Обратите внимание, что в приведенном выше коде индексация строк и столбцов начинается с 0. Если вам нужна индексация с 1, просто замените i += 2 на i = 1, чтобы перебирать только четные строки.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос