В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Liusia200
Liusia200
01.12.2021 14:57 •  Информатика

Какова иерархия применения стилей к абзацу?

Показать ответ
Ответ:
venyast56oxem2g
venyast56oxem2g
03.04.2020 16:58
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
  var F,G:file of integer;
  Assign(F,'FFile.dat'); Rewrite(F);
  for var i:=1 to 30 do Write(F,Random(-20,20));
  // Файл F создан и заполнен
  Assign(G,'GFile.dat'); Rewrite(G);
  F.Seek(0);
  var e:integer;
  Print('F:');
  while not F.Eof do begin
    Read(F,e); Print(e);
    if e>0 then Write(G,e)
    end;
  F.Seek(0);
  while not F.Eof do begin
    Read(F,e);
    if e<0 then Write(G,e)
    end;
  F.Seek(0);
  while not F.Eof do begin
    Read(F,e);
    if e=0 then Write(G,e)
    end;
  F.Close;
  Writeln;
  Print('G:');
  G.Seek(0);
  while not G.Eof do begin
    Read(G,e); Print(e)
    end;  
  G.Close
end.

Тестовое решение:
F: -14 15 -16 0 7 0 18 19 -12 -10 6 15 -19 -14 -15 -1 -6 -4 -20 12 10 4 3 16 -14 -20 3 10 -13 -16
G: 15 7 18 19 6 15 12 10 4 3 16 3 10 -14 -16 -12 -10 -19 -14 -15 -1 -6 -4 -20 -14 -20 -13 -16 0 0

Данное решение неоптимально по времени, поскольку файл читается трижды. Можно сделать иной вариант, читая данные за один проход и помещая в две вс структуры памяти отрицательные и нулевые элементы.

// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
  var F,G:file of integer;
  Assign(F,'FFile.dat'); Rewrite(F);
  for var i:=1 to 30 do Write(F,Random(-20,20));
  // Файл F создан и заполнен
  Assign(G,'GFile.dat'); Rewrite(G);
  var n:=F.FileSize;
  var neg,zer:array of integer;
  SetLength(neg,n); SetLength(zer,n);
  F.Seek(0);
  var e:integer;
  var ineg:=0;
  var izer:=0;
  Print('F:');
  while not F.Eof do begin
    Read(F,e); Print(e);
    if e>0 then Write(G,e)
    else
      if e<0 then begin neg[ineg]:=e; Inc(ineg) end
      else begin zer[izer]:=e; Inc(izer) end
    end;
  F.Close;
  Writeln;
  SetLength(neg,ineg);
  foreach e in neg do Write(G,e);
  SetLength(zer,izer);
  foreach e in zer do Write(G,e);
  Print('G:');
  G.Seek(0);
  while not G.Eof do begin
    Read(G,e); Print(e)
    end; 
  G.Close
end.

Тестовое решение:
F: 7 5 -14 6 -11 -9 5 -1 5 -5 -7 -1 4 -20 17 -19 0 -3 0 6 20 1 -2 -18 9 20 0 -2 3 -13
G: 7 5 6 5 5 4 17 6 20 1 9 20 3 -14 -11 -9 -1 -5 -7 -1 -20 -19 -3 -2 -18 -2 -13 0 0 0
0,0(0 оценок)
Ответ:
Цветочек123огрл
Цветочек123огрл
26.01.2021 14:51
#include <stdio.h>
#include <math.h>

int isPrime(int x)
{
for (int i = 2; i <= sqrt(x); i++) {
if (x % i == 0) return 0;
}
return 1;
}

int main()
{

/* Ввод значений */
int n;
scanf("%d", &n);
int nums[n];
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}

/* Поиск минимального значения */
int min = nums[0];
for (int i = 1; i < n; i++) {
if (nums[i] < min) min = nums[i];
}

/* Поиск делителя */
int ret = 0;
int isDiv = 1;
for (int i = min; i > 1; i--) {
printf("test %d\n", i);
if (isPrime(i)) {
printf(" %d prime\n", i);
for (int j = 0; j < n; j++) {
if (nums[j] % i != 0) {
printf(" on pos %d not div %d\n", j, i);
isDiv = 0;
break;
}
}
if (isDiv) {
ret = i;
printf(" ret = %d, break\n", ret);
break;
}
else {
isDiv = 1;
}
}
}

printf("%d", ret);
return 0;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота