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

Врезультате выполнения фрагмента программы на экран должно быть выведено значение n! 1 2 3 … n. выберите правильный фрагмент из ниже. в остальных программах укажите строки, в которых, по вашему мнению, содержится ошибка. ответ: 1)var i,n: integer; begin read(n); for i: =1 to 10 do begin n: =n*i; writeln(n); end; end. 3)var i,n,p: integer; begin read(n); for i: =2 to n do p: =p*i; writeln(p); end. 2)var i,n,p: integer; begin read(n); p: =1; for i: =2 to n do p: =p*i; writeln(p); end. 4)var i,n,p: integer; begin read(n); p: =1; for i: =1 to n do begin p: =p*i; writeln(p); end; end.

👇
Ответ:
enotnana
enotnana
13.11.2020
В первых двух программах будет выведено 0 (надо задать начальное n=1)
в третьем распечатываются промежуточные значения, начиная со второго, хотя последний ответ правильный
В последнем выдается правильный ответ по условию задачи
4,7(18 оценок)
Открыть все ответы
Ответ:
ghj42
ghj42
13.11.2020
Var
  m,n,i,j,max,min,imx,imn,jmn,jmx,k,p:integer;
  s:real;
  a:array[,]of integer;
begin
write('Число строк: ');
readln(m);
write('Число столбцов: ');
readln(n);
setlength(a,m+1,n+1);
for i:=1 to m do
  begin
  writeln('Вводите элементы строки ',i,' по одному');
  for j:=1 to n do    readln(a[i,j]);
  end;
min:=a[1,1];
max:=a[1,1];
imn:=1;
jmn:=1;
imx:=1;
jmx:=1;
for i:=1 to m do
  for j:=1 to n do
    begin
    if a[i,j]<min then
      begin
      min:=a[i,j];
      imn:=i;
      jmn:=j;
      end;
    if a[i,j]>max then
      begin
      max:=a[i,j];
      imx:=i;
      jmx:=j;
      end;
    end;
p:=a[imn,jmn];
a[imn,jmn]:=a[imx,jmx];
a[imx,jmx]:=p;
writeln('Измененный массив:');
for i:=1 to m do
  begin
  for j:=1 to n do    write(a[i,j]:5);
  writeln;
  end;
write('Введите номер строки: ');
readln(i);
for j:=1 to n do
  if a[i,j]<0 then
    begin
    s:=s+a[i,j];
    k:=k+1;
    end;
writeln('Ср.ариф. отр.чисел в строке: ',s/k);  
end. 
4,5(69 оценок)
Ответ:
gsst2004p08tcc
gsst2004p08tcc
13.11.2020
Алгоритм решения

Рассмотрим первый тест. Мы знаем, что карточки пронумерованы от 1 до N, и что утеряна была ровно одна карточка. Пусть x равен сумме номеров всех карточек от 1 до N. Тогда y равен сумме номеров карточек, что даны нам во вводе. Значит, номер потерявшейся карточки - это x - y

x = 1 + 2 + 3 + 4 + 5 = 15

y = 3 + 5 + 1 + 4 = 13

ans = x - y = 15 - 13 = 2, ответ: 2.

Правда, тогда придется "угадать" тест, где N равно единице, поскольку мы используем do-while для ввода. Логично, что в наборе из одной карточки могла потеряться только эта единственная карточка.

Код

Дан в приложении.


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