Предмет: Информатика, автор: vagidbrin1

Нужно написать программу с массивами на c++, которая в первой функции (массив 4х3) умножает на 2 все нечетные числа, а во второй (одномерный массив из 3 столбцов) выводит корни минимальных чисел каждой строки

Приложения:

Ответы

Автор ответа: Аноним
0

Заполняется случайными числами, можно сделать пользовательский ввод, заменив arr[i][j] = rand() % 100; на cin >> arr[i][j];

#include <iostream>

#include <random>

#include <ctime>

#include <cmath>

using namespace std;

void printArr(int** arr, size_t sizeX, size_t sizeY) {

for (size_t i = 0; i < sizeX; ++i) {

 for (size_t j = 0; j < sizeY; ++j) {

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

 }

 cout << endl;

}

}

void func1(int** arr, size_t sizeX, size_t sizeY) {

for (size_t i = 0; i < sizeX; ++i) {

 for (size_t j = 0; j < sizeY; ++j) {

  if (arr[i][j] % 2 == 1) {

   arr[i][j] *= 2;

  }

 }

}

}

void func2(int** arr, size_t sizeX, size_t sizeY) {

for (size_t i = 0; i < sizeX; ++i) {

 int32_t min = INT32_MAX;

 for (size_t j = 0; j < sizeY; ++j) {

  if (arr[i][j] < min) {

   min = arr[i][j];

  }

 }

 cout << i << ": sqrt(" << min << ") = " << sqrt(min) << endl;

}

}

int main() {

srand(time(0));

const size_t sizeX = 4, sizeY = 3;

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

for (size_t i = 0; i < sizeX; ++i) {

 arr[i] = new int[sizeY];

 for (size_t j = 0; j < sizeY; ++j) {

  arr[i][j] = rand() % 100;

 }

}

printArr(arr, sizeX, sizeY);

func1(arr, sizeX, sizeY);

cout << endl;

printArr(arr, sizeX, sizeY);

func2(arr, sizeX, sizeY);

}

Похожие вопросы
Предмет: Окружающий мир, автор: кристя552
Предмет: Математика, автор: bibosh