должно быть минимум 7 элементов
Объяснение:
Каждый излучающий элемент имеет два состояния- красный или синий цвет (выключенное состояние не рассматривается по условиям).
Значит, число возможных вариантов, которые можно показать на таком табло равно двум в степени, равной числу элементов.
Например:
один элемент: различных сигнала (состояния панели)
три элемента: различных сигналов можно отобразить
шесть элементов: различных сигнала (мало, надо сто)
семь элементов: различных сигналов (нам хватит)
Выбираем семь элементов, т.к. ими можно отобразить сто вариантов (и даже немного больше).
Можно и посчитать число элементов напрямую, без подбора.
Считается через логарифм по основанию два из десяти, затем округляется с избытком (то есть, всегда вверх):
В расчёте также показано, что такой логарифм можно посчитать через отношение двух десятичных логарифмов (lg), либо двух натуральных логарифмов (ln).
Двумерный динамический массив задается пользователем. Программа находит сумму элементов всех нечетных строк.
Если требовался иной алгоритм, сообщите об этом.
Код программы приведен на языке 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;
}
Поделитесь своими знаниями, ответьте на вопрос:
Надо решить на языке с++. определить, могут ли 3 точки с координатами (х1, у1) , (х2, у2) , (х3, у3) являться вершинами треугольника?
#include <iostream>
#include <cmath>
using namespace std;
int main() {
float a,b,c,p,s;
struct {
float ax,ay,bx,by,cx,cy;
} ABC;
cout<<" задайте координаты точек"<<endl;
cout<<" ax "<<" ay "<<" bx "<<" by "<<" cx "<<" cy";
cout<<endl;
cin>>ABC.ax>>ABC.ay>>ABC.bx>>ABC.by>>ABC.cx>>ABC.cy;
// вычисление длин сторон
a=sqrt(pow((ABC.bx-ABC.ax),2)+pow((ABC.by-ABC.ay),2));
b=sqrt(pow((ABC.cx-ABC.bx),2)+pow((ABC.cy-ABC.by),2));
c=sqrt(pow((ABC.cx-ABC.ax),2)+pow((ABC.cy-ABC.ay),2));
p=(a+b+c)/2;
// проверка, что можно составить треугольник
if (((p-a)>0) && ((p-b)>0) && ((p-c)>0))
cout<<"точки образуют треугольник"<<endl;
else cout<<"точки лежат на одной прямой"<<endl;
system("pause");
return(0);
}