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

Вводится 7 чисел. найти сумму, произведение положительных чисел и количество отрицательных. через паскаль. надо.

👇
Ответ:
NekoChan625
NekoChan625
17.04.2023

var
s,p,n,i:integer;
mas: array[1..7] of integer;
begin
s:=0;
p:=1;
n:=0;
for i:=1 to 7 do
read(mas[i]);

for i:=1 to 7 do begin
if mas[i]>=0 then begin
s:=s+mas[i];
p:=p*mas[i];
end
else
n:=n+1;
end;

write('summa=', s, ', proizvedenie=', p, ', otrezatelnich=', n);
end.

4,4(51 оценок)
Открыть все ответы
Ответ:
Zazoo12365
Zazoo12365
17.04.2023

Объяснение:

Последовательность дней недели периодична с периодом 7, поэтому номер дня недели можно найти, взяв остаток от деления: (номер дня недели первого числа + сколько Такое решение будет давать верный ответ для всех дней недели кроме воскресенья: для воскресений будет выведен ноль (а не 7). Решить это можно, перенумеровав все номера дней недели с нуля, а не с единицы.

m - 1 – номер дня недели первого числа месяца (считая с 0)

n - 1 – пройдёт от первого числа  

(m + n - 2) mod 7 – номер нужного дня недели (считая с 0)

(m + n - 2) mod 7 + 1 – ответ.

Программа (PascalABC.NET):

begin

 var n := ReadInteger;

 var m := ReadInteger;

 print((m + n - 2) mod 7 + 1)

end.

Пример ввода:

7

7

Пример вывода:

6

(Действительно, 1 апреля 2018 года – воскресенье, а сегодня, 7 апреля – суббота)

4,4(17 оценок)
Ответ:
Зюна
Зюна
17.04.2023
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
procedure MatInput(a:array[,] of integer);
begin
  Writeln('Вводите элементы матрицы построчно, в конце нажимая Enter');
  for var i:=0 to Length(a,0)-1 do begin
    Write(i+1,': ');
    for var j:=0 to Length(a,1)-1 do Read(a[i,j]);
    end
end;

procedure MatPrint(a:array[,] of integer);
begin
  for var i:=0 to Length(a,0)-1 do begin
    for var j:=0 to Length(a,1)-1 do Print(a[i,j]);
    Writeln
    end
end;

function IsEqual(a:array[,] of integer; j1,j2:integer;
  flag:array of boolean):boolean;
// равны ли столбцы с индексами j1 и j2
begin
  if flag[j2]=False then begin
    Result:=True;
    for var i:=0 to Length(a,0)-1 do
      if a[i,j1]<>a[i,j2] then begin Result:=False; Break end;
    flag[j2]:=Result
    end
end;

begin
  var n:=ReadInteger('Задайте число строк (столбцов) матрицы:');
  var a:array[,] of integer;
  var m:=ArrFill(n,False);
  SetLength(a,n,n);
  MatInput(a);
  Writeln('*** Принятая матрица ***');
  MatPrint(a);
  var k:=1;
  for var i:=0 to n-2 do
    for var j:=i+1 to n-1 do
      if IsEqual(a,i,j,m) then Inc(k);
  if k>1 then Writeln('Количество совпадающих столбцов равно ',k)
  else Writeln('нет совпадающих столбцов')
end.

Тестовое решение
Задайте число строк (столбцов) матрицы: 3
Вводите элементы матрицы построчно, в конце нажимая Enter
1: 1 2 2
2: 3 5 5
3: 2 2 2
*** Принятая матрица ***
1 2 2
3 5 5
2 2 2
Количество совпадающих столбцов равно 2
4,5(35 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ