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

Паскаль. сделать из функции (поиск нод у 5 чисел) - процедуру. var a,b,m1,m2,m3,itog,c,d,e: integer; function nod (x,y: integer): integer; begin if x=y then nod: =x else if x> y then nod: =nod(x-y, y) else nod: =nod(x, y-x); end; begin read (a,b,c,d,e); m1: = (nod(a,b)); m2: = (nod(c,d)); m3: = (nod(m1,m2)); itog: = (nod(m3,e)); writeln (itog); end.

👇
Ответ:
Санжик707
Санжик707
24.02.2020
Var a,b,c,d,e,m1,m2,m3,ITOG:integer; 
Procedure nod(x,y:integer;var n:integer); 
Begin 
If x=y then n:=x 
else 
if x>y then NOD(x-y, y, n) 
Else NOD(x, y-x, n); 
end; 
begin 
read (a,b,c,d,e); 
nod(a,b,m1); 
nod(c,d,m2); 
nod(m1,m2,m3); 
nod(m3,e,ITOG); 
writeln (ITOG); 
end.

Пример:
90 135 45 315 75
15
4,4(39 оценок)
Открыть все ответы
Ответ:
kati1200777
kati1200777
24.02.2020

type

  base = record

     id: integer;

     ball: integer;

  end;

var

  t: text;

  a: array of array of integer;

  n: integer;

  st, tmp: string;

  err: integer := 1;

  database: base;

begin

  readln(n);

  setlength(a, n);

  for i: integer := low(a) to high(a) do

     setlength(a[i], 2);

  for i: integer := low(a) to high(a) do

  begin

     readln(st);

     tmp := st;

     delete(tmp, pos(' ', tmp, err), tmp.Length - pos(' ', tmp, err) + 1);

     database.id := strtoint(tmp);

     tmp := st;

     delete(tmp, 1, pos(' ', tmp, err));

     database.ball := strtoint(tmp);

     a[i, 0] := database.id;

     a[i, 1] := database.ball;

  end;

  var j: integer := 0;

  assign(t, 'output.txt');

  rewrite(t);

  while (j <= high(a)) do

  begin

     if (j + 1 < high(a)) and (a[j, 1] = a[j + 1, 1]) then

        if (a[j, 0] < a[j + 1, 0]) then begin

           write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');

           write(t, inttostr(a[j + 1, 0])); write(t, ' '); write(t, inttostr(a[j + 1, 1])); writeln(t,'');

        end else begin

           write(t, inttostr(a[j + 1, 0])); write(t, ' '); write(t, inttostr(a[j + 1, 1])); writeln(t,'');

           write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');

        end;

     if (j+1=n) then

        write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');

     inc(j, 2);

  end;

  close(t);

end.

4,7(6 оценок)
Ответ:
dinagasanova12
dinagasanova12
24.02.2020
/*задача дурацкая для n > 3, ибо не понятно, что делать:
1) разбить все столбцы на группы одинаковых столбцов и посчитать внутри них число пар. Затем суммировать.
2) разбить столбцы на группы одинаковых столбцов и суммировать количество элементов в каждой из групп, если оно больше 1. То есть найти количество столбцов, для которых среди других столбцов найдется хотя бы один идентичный ему
3) разбить столбцы на группы одинаковых столбцов и вывести количество элементов в каждой группе, если оно больше 1.
Для n=3 дело проще, потому что таких групп максимум одна, поэтому тут, по сути, неоднозначности не возникает (за исключением того, что в первом пункте...)
В общем, решил делать как во втором пункте. ответ в любом случае будет верным.*/
#include <iostream>
using namespace std;
int n, result = 0;
int **ar;//указатель на указатель для создания динамического двумерного массива
bool *Flag;//указатель на первый элемент массива флагов
void create(int n)//создание динамического массива
{
   ar = new int*[n];
   for (int i = 0; i < n; i++)
      ar[i] = new int[n];
   Flag = new bool[n];
   for (int i = 0; i < n; i++)
      Flag[i] = false;
}
void inp(int n) //ввод элементов массива
{
   cout << "Input rows of matrix:\n";
   for (int i = 0; i < n; i++)
   {
      cout << i + 1 << ": ";
      for (int j = 0; j < n; j++)
         cin >> ar[i][j];
   }
}
void outp(int n) //вывод элементов массива
{
   cout << "Elements of matrix:\n";
   for (int i = 0; i < n; i++)
   {
      for (int j = 0; j < n; j++)
         cout << ar[i][j] << " ";
      cout << endl;
   }
}
bool isEqual(int n, int j1, int j2)//проверка на равенство столбцов
{
   bool res = true;
   for (int i = 0; i < n; i++)
   {
      if (ar[i][j1] != ar[i][j2])
      {
         res = false;
         break;
      }
   }
   if (res)//если столбцы равны
    Flag[j2] = true; /*отмечаем столбец как просмотренный, чтобы в следующий раз его не сравнивать с другими столбцами*/
   return res;
}
void calculate(int n)//считаем количество совпадающих столбцов
{
   int k = 1;
   for (int j1 = 0; j1 < n; j1++)
    if (!Flag[j1])
    {
      k = 1;
      for (int j2 = j1 + 1; j2 < n; j2++)
       if (!Flag[j2] && isEqual(n, j1, j2))
          k++;
      if (k > 1)//имеется k одинаковых стобцов по типу столбца j1
         result += k;//плюсует к итоговому результату
    }
}
int main(){
   cout << "Input n: ";
   cin >> n;
   create(n);
   inp(n);//ввод массива
   outp(n);//вывод массива
   calculate(n);//расчет того, что требуется
   if (result > 0)/*количество столбцов, которые совпадают, по крайней мере, с одним из других столбцов*/
      cout << "The number of columns, coinciding with at least one other column, is " << result << endl;
   else //все столбцы разные
      cout << "There is no matching columns\n";
   return 0;
}
4,5(61 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ