М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
prostoliiiii
prostoliiiii
26.09.2022 06:01 •  Информатика

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


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

👇
Ответ:
Milagrosrr
Milagrosrr
26.09.2022

Заполняется случайными числами, можно сделать пользовательский ввод, заменив 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);

}

4,6(20 оценок)
Открыть все ответы
Ответ:
KristinaZenchenko
KristinaZenchenko
26.09.2022

#include<bits/stdc++.h>

using namespace std;

int main()

{int n;

cin>>n;

if(n==10)

cout<<"десять учебных заданий";

if(n==11)

cout<<"одиннадцать учебных заданий";

if(n==12)

cout<<"двенадцать учебных заданий";

if(n==13)

cout<<"тринадцать учебных заданий";

if(n==14)

cout<<"четырнадцать учебных заданий";

if(n==15)

cout<<"пятнадцать учебных заданий";

if(n==16)

cout<<"шестнадцать учебных заданий";

if(n==17)

cout<<"семнадцать учебных заданий";

if(n==18)

cout<<"восемнадцать учебных заданий";

if(n==19)

cout<<"девятнадцать учебных заданий";

if(n==20)

cout<<"двадцать учебных заданий";

if(n==21)

cout<<"двадцать одно учебное задание";

if(n==22)

cout<<"двадцать два учебных заданий";

if(n==23)

cout<<"двадцать три учебных заданий";

if(n==24)

cout<<"двадцать четыре учебных заданий";

if(n==25)

cout<<"двадцать пять учебных заданий";

if(n==26)

cout<<"двадцать шесть учебных заданий";

if(n==27)

cout<<"двадцать семь учебных заданий";

if(n==28)

cout<<"двадцать восемь учебных заданий";

if(n==29)

cout<<"двадцать девять учебных заданий";

if(n==30)

cout<<"тридцать учебных заданий";

if(n==31)

cout<<"тридцать одно учебное задание";

if(n==32)

cout<<"тридцать два учебных заданий";

if(n==33)

cout<<"тридцать три учебных заданий";

if(n==34)

cout<<"тридцать четыре учебных заданий";

if(n==35)

cout<<"тридцать пять учебных заданий";

if(n==36)

cout<<"тридцать шесть учебных заданий";

if(n==37)

cout<<"тридцать семь учебных заданий";

if(n==38)

cout<<"тридцать восемь учебных заданий";

if(n==39)

cout<<"тридцать девять учебных заданий";

if(n==40)

cout<<"сорок учебных заданий";

}

4,7(65 оценок)
Ответ:
Anastaskip
Anastaskip
26.09.2022
У вас не указано, над каким именно массивом нужно производить вышеописанное действие, поэтому я выкладываю общее решение.
Предположим, что a - это массив с какими-то сохранёнными числами до a[n]

for i:=1 to n do
  if a[i] > 0 then
    begin
    k:=k+1;
    sum:=sum+a[i]
    end;
average:=sum/k;

(a - данный массив, sum - сумма всех положительных чисел, k - количество положительных чисел - n - индекс последнего элемента массива, i - переменная для цикла, average - переменная, сохраняющая численное значение)
Запускаем цикл от 1 до n и перебираем все числа массива. Если i-тое число положительно, мы прибавляем его к sum, и увеличиваем k на 1, который сохраняет в себе количество положительных чисел массива.
После завершения цикла, мы получаем k - количество положительных чисел, sum - сумма всех положительных чисел. Чтобы найти среднее арифметическое, делим сумму всех чисел на их количество.
(Учитывайте, что переменная, сохраняющая среднее арифметическое должна иметь вещественный тип (real, double...))
Вот и всё. Если у вас возникают какие-то проблемы или ошибки в коде - оставьте комментарий. Если у вас проблемы с созданием массива (чтение массива с клавиатуры или создание массива со случайными числами) - опять же таки пишите:)
4,5(32 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ