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

Составить программу в с++, которая вычисляет количество нулевых элементов, расположенных на главной диагонали в двумерном массиве размерности 4х4. Заполнить массив целыми случайными числами из диапазона от 0 до 30.

👇
Ответ:
olyakirnay
olyakirnay
20.05.2021

#include <iostream>

#include <ctime>

using namespace std;

int main()

{

   srand(time(0));

   int quantity = 0;

   const int size = 4;

   int arr[size][size] = {};

   for (int i = 0; i < size; i++)

   {

       for (int j = 0; j < size; j++)

       {

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

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

       }

       cout << endl;

   }

   for (int i = 0; i < size; i++)

   {

       if (arr[i][i] == 0)

       {

           quantity++;

       }

   }

   cout << quantity;

}

Объяснение:

Если пишете в codeblocks, то добавьте библиотеку stdlib.h

#include <iostream> // Библиотека ввода - вывода

#include <ctime> // Библиотека для работы со временем

using namespace std; // Пространство имён

int main()

{

   srand(time(0)); // Обнуляем время (каждый раз новые числа в массиве)

   int quantity = 0; // Создание целочисленной переменной, хранящей количество нулевых элементов, расположенных на главной диагонали

   const int size = 4; // Константная целочисленная переменная, хранящая в себе размер квадратной матрицы

   int arr[size][size] = {}; // Создание целочисленной квадратной матрицы, заполненной нулями

   for (int i = 0; i < size; i++) // Идём по массиву

   {

       for (int j = 0; j < size; j++) // Идём по массиву

       {

           arr[i][j] = rand() % 31; // Заполнения массива числами диапазона [0, 30]

           cout << arr[i][j] << " "; // Вывод значений

       }

       cout << endl; // Перевод на следующую строку

   }

   for (int i = 0; i < size; i++) // Так как нам нужна только главная диагональ, а индексы этих элементов равны, то используем только один цикл

   {

       if (arr[i][i] == 0) // Если элемент главной диагонали = 0

       {

           quantity++;  // Количество + 1

       }

   }

   cout << quantity; // Вывод ответа

}

4,8(4 оценок)
Открыть все ответы
Ответ:
ShvarykValerua
ShvarykValerua
20.05.2021

21222

Объяснение:

Как обычно, идём с конца.

58 - не квадрат, поэтому последняя операция могла быть только вычитание 2. Значит, до этого было 60.

60 - не квадрат, поэтому следующая операция могла быть только вычитание 2. Значит, до этого было 62.

62 - не квадрат, поэтому следующая операция могла быть только вычитание 2. Значит, до этого было 64.

64 - квадрат. Учитывая, что нам нужно получить 10, если бы тут тоже было вычитание 2, то и на следующем шаге была бы такая же операция, и к пятому шагу у нас было бы 68, а не 10. Поэтому тут было возведение в квадрат, до этого было 8

8 - не квадрат, поэтому следующая операция могла быть только вычитание 2. Значит, до этого было 10 (ура!).

Теперь в обычном порядке:

10\xrightarrow{-2}8\xrightarrow{x^2}64\xrightarrow{-2}62\xrightarrow{-2}60\xrightarrow{-2}58

Меняем все операции "-2" на 2, а "x^2" на 1 и получаем 21222

4,5(78 оценок)
Ответ:
chief5
chief5
20.05.2021

Python 3:

from random import randint

C = [randint(-100, 100) for _ in range(20)]

print(*C)

print(sum(filter(lambda el: el < 0, C)))

Аналог в PascalABC.NET:

begin

 var C := ArrRandomInteger(20, -100, 100);

 C.Println;

 C.Where(x -> x < 0).Sum.Print;

end.

Паскаль, в "старом" стиле:

var

 C: array[1..20] of integer;

 i, s: integer;

begin

 randomize();

 s := 0;

 for i := 1 to 20 do  

 begin

   C[i] := random(201) - 100;

   write(C[i], ' ');

   if C[i] < 0 then

     s := s + C[i];

 end;

 writeln();

 write(s)

end.

4,6(52 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ