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

Информатика! решите задачу на с++.С сайта информатикс , условие и моё решение , постарайтесь использовать только for,while,break, Моё решение не проходит из за времени


Информатика! решите задачу на с++.С сайта информатикс , условие и моё решение , постарайтесь использ
Информатика! решите задачу на с++.С сайта информатикс , условие и моё решение , постарайтесь использ

👇
Ответ:
svetaredkina
svetaredkina
07.01.2021

#include <iostream>

using namespace std;

int main()

{

   int N; cin >> N;

   int list[N];

   int a = 0;

   while (a < N)

   {

       int n; cin >> n;

       list[a] = n;

       a ++;

   }

   int flag_2 = 0;

   a = 0;

   while (a < N)

   {

       int b = 0;

       int flag = 0;

       while (b < N)

       {

           if (list[a] == list[b])

           {

               flag ++;

               flag_2 ++;

           }

           b ++;

       }

       if (flag > 1) cout << list[a] << " ";

       a ++;

   }

   if (flag_2 <= N) cout << 0;

}

1) ответ выводится не списком, а просто отдельными числами через пробел

2) каждое повторяющееся число выводится несколько раз(столько, сколько встречается)

3) в конце вывода лишний пробел

Могу решить на пайтоне, если важно просто закрыть задачу. А так, судя по всему, решение только массивами требует более глубоких знаний(динамические массивы и векторы), чем есть у меня в с++. Возможно, сможете улучшить мое решение

(кинул бы в комментарии, но там ограничение на кол-во символов)

4,5(79 оценок)
Открыть все ответы
Ответ:
gameplay135
gameplay135
07.01.2021
Смотри на скриншот я сделал просто не хочу чтоб форматировка текста портилась.Все работает!
const n=3;m=4;
var a:array [1..n,1..m] of integer;    i,j,k,max:Integer;    ind:array [0..1] of Integer=(1,1);
begin 
Randomize; 
 for i:=Low(a) to High(a) do 
 for j:=Low(a) to High(a[1]) do 
   a[i,j]:=Random(100); 
for i:=Low(a) to High(a) do 
  begin   
  writeln;   
for j:=Low(a) to High(a[1]) do 
 write(a[i,j]:3); 
 end; 
 max:=a[1,1]; 
 for i:=Low(a) to High(a) do   
for j:=Low(a) to High(a[1]) do
    if a[i,j]> max then   
  begin 
     max:=a[i,j];   
    ind[0]:=i;     
  ind[1]:=j;     
end;     
writeln; 
Writeln(' Max element: ',max);
 Write(' Index: '); 
 for i:=0 to 1 do 
 write(ind[i],' ');
 Readln;
end. 
Составьте программу, определяющую максимальный элемент и его индексы матрицы а размерами mxn(паскаль
4,8(77 оценок)
Ответ:
Ketti08
Ketti08
07.01.2021
Program p1;
var
n,a,i,max,fl:integer;
begin
writeln('Введите кол-во участников>>');
readln(n);
max:=0; fl:=0;
for i:=1 to n do
 begin
 writeln('Введите кол-во правильных ответов, данных участником ',i); 
 readln(a);
 if (a > max) then max:=a;
 if a=0 then fl:=1;
 end;
if fl=1 then writeln('YES') else writeln('NO');
writeln('Победитель набрал ',max,' ');
end.

Пример:
Введите кол-во участников>> 5
Введите кол-во правильных ответов, данных участником 1 15
Введите кол-во правильных ответов, данных участником 2 18
Введите кол-во правильных ответов, данных участником 3 0
Введите кол-во правильных ответов, данных участником 4 8
Введите кол-во правильных ответов, данных участником 5 10
YES
Победитель набрал
4,7(41 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ