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

50 ! напишите программу , которая в последовательности натуральных чисел определяет мин. число, кратное 3. программа получает на вход количество чисел в последовательности, а затем сами числа. в последовательности всегда имеется число кратное 3. кол-во чисел не превыш. 30000. программа должна вывести 1 число - мин. число, кратное 3

👇
Ответ:
kirill23710
kirill23710
06.07.2020
Var a,n,min,i:integer;
begin
write('n = ');
readln(n);
min:=999999;
writeln('Вводите числа:');
for i:=1 to n do
 begin
 readln(a);
 if (a mod 3=0)and(a<min) then min:=a;
 end;
writeln('min = ',min);
end.

Пример:
n = 5
Вводите числа:
52
63
80
18
29
min = 18
4,4(57 оценок)
Ответ:
kudadiana3101
kudadiana3101
06.07.2020
Var i,n,min,a:integer;
begin
 assign (input, 'input.txt'); reset(input);
 assign (output, 'output.txt'); rewrite(output);
 readln(n);
 min:=32767;
 for (i):=1 to (n) do
 begin
  read(a);
  if ((a<min)and(a mod 3 =0))
  then
  min:=a;
 end;
 write(min);
end.
4,6(40 оценок)
Открыть все ответы
Ответ:
mikki60
mikki60
06.07.2020

#include <iostream>

#include <iterator>

#include <vector>

 

using namespace std;

 

int main() {

 int n = 5;

 int m = 6;

 

 vector<vector<int>> a(n, vector<int>(m));

 

 for (int i = 0; i < n; ++i) {

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

     cin >> a[i][j];

 }

 

 vector<double> ans(m);

 

 for (int i = 0, q = 0; i < m; ++i, ++q) {

   int sum = 0;

   int cnt = 0;

 

   for (int j = 0; j < n; ++j) {

     if (a[j][i] < 0) {

       sum += a[j][i];

       ++cnt;

     }

   }

 

   if (sum)

     ans[q] = sum / (double)cnt;

 }

 

 copy(ans.cbegin(), ans.cend(), ostream_iterator<double>(cout, " "));

}

4,8(96 оценок)
Ответ:
Geirat
Geirat
06.07.2020
Уравнение прямой

Общее уравнение прямой: Ax + By + C = 0

Мы знаем координаты двух точек, лежащих на прямой. Обозначим их как (x_1; y_1) и (x_2;y_2). Тогда:

A=y_2-y_1\\B=x_1-x_2\\C=y_1x_2-x_1y_2


Решение

Мы знаем координаты точек многоугольника.

Для каждого ребра (пары соседних точек) мы должны проверить, чтобы все остальные точки находились по одну сторону от прямой, которой принадлежит эта пара точек.

Т.е., мы перебираем каждое ребро и смотрим, чтобы остальные точки были одного знака.

Оказывается, смотреть все точки необязательно! Нам нужно проверить каждое ребро, чтобы сказать ответ. Поэтому, нам достаточно смотреть лишь положение двух соседних с этим ребром точек относительно ребра.

Итого, мы должны для каждого ребра убедиться, что две соседних с этим ребром точки лежат по одну сторону от ребра. Вот и всё.


Код

#include <bits/stdc++.h>


using namespace std;


 

int main() {


 int n;


 cin >> n;


 long double x[n+2];


 long double y[n+2];


 for (int i = 0; i < n; i++) {


   cin >> x[i] >> y[i];


 }


 x[n] = x[0];


 y[n] = y[0];


 x[n+1] = x[1];


 y[n+1] = y[1];


 for (int i = 1; i < n; i++) {


   long double a = y[i+1] - y[i];


   long double b = x[i] - x[i+1];


   long double c = y[i] * x[i+1] - x[i]*y[i+1];


   if ((a*x[i-1]+b*y[i-1]+c)*(a*x[i+2]+b*y[i+2]+c) < 0) {


     cout << "NO" << endl;


     return 0;


   }


 }


 cout << "YES" << endl;


 return 0;


}

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