sv455umarketing74
?>

Дается последовательность из n чисел. выведите разницу между максимальным и минимальным элементами последовательности. формат входных данных первая строка входного файла содержит целое число n (1 < = n < = 100000 в следующей строке n положительных целых чисел, каждое из которых не превышает 100000.

Информатика

Ответы

Valerevna-Vardan
Сделано через динамический массив! var a: array of integer;     n,i,max,min: integer; begin    readln(n);     setlength(a,n);     for i: =0 to length(a) do    readln(a[i]);     max: =a[0];     for i: =0 to length(a) do      if a[i]> max then      max: =a[i];     min: =a[0];     for i: =0 to length(a) do    if a[i]< min then      min: =a[i];   writeln;     writeln(max-min);   readln; end
happych551

Программы-переводчики, как и онлайн переводчики предназначены для быстрого перевода текста на другой язык, отличный от оригинального текста, без высокой квалификации пользователя по знанию иностранного языка. Текст на русском языке, полученный путём машинного перевода, можно быстро отредактировать. Особенно удобно пользоваться переводчиком при работе с большим объёмом текста. А вот те люди, которые слабо знают английский язык, и они так переводят русский текст на английский язык, они могут использовать этот текст только для себя, например, для получения навыков по правке английских текстов. Только не надо надеяться кого-то так обмануть, не надо куда-то сдавать этот текст, так как квалифицированный человек быстро найдёт ошибки в английском тексте, который был получен при машинном переводе.

vera-sherepa231

Решение с использованием указателей:

#include <iostream>

#include <ctime>

#define N 15

int main()  

{

   int A[N];

   int i, tmp, cnt;

   int *min = A,*max = A, *j;

   setlocale(LC_ALL, "Russian");

   // Автозаполнение

   srand(time(0));

   for (i = 0; i < N; i++)

       A[i] = rand() % 201 - 100;

   std::cout << "Исходный массив:" << std::endl;

   for (i = 0; i < N; i++)

       std::cout << *(A + i) << " ";

   // Находим минимальный и максимальный элементы массива, запоминаем их адреса

   for (i = 0; i < N; i++)

   {

       if (*(A + i) > *max) max = A + i;

       if (*(A + i) < *min) min = A + i;

   }

   // Мин. и макс. элементы могут находиться в разных местах относительно друг друга

   if (min < max)

   {

       cnt = ((max) - (min)) / 2;

       for (j = min + 1, i = 0; i < cnt; j++, i++)

       {

           tmp = *j;

           *j = *(min + 1 + (max - 1 - j));

           *(min + 1 + (max - 1 - j)) = tmp;

       }

   }

   else

   {

       cnt = ((min) - (max)) / 2;

       for (j = max + 1, i = 0; i < cnt; j++, i++)

       {

           tmp = *j;

           *j = *(max + 1 + (min - 1 - j));

           *(max + 1 + (min - 1 - j)) = tmp;

       }

   }

   std::cout << "\nРезультат:" << std::endl;

   for (i = 0; i < N; i++)

       std::cout << *(A + i) << " ";

   return 0;

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дается последовательность из n чисел. выведите разницу между максимальным и минимальным элементами последовательности. формат входных данных первая строка входного файла содержит целое число n (1 < = n < = 100000 в следующей строке n положительных целых чисел, каждое из которых не превышает 100000.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Назаров588
aksmobile
APerova3464
Andrei
Иванина
dp199088206
Дружинин
Yelizaveta1848
agafonovalyudmila346
Dragun1684
ПолухинаТененева565
Fedorovna
sveta740450
druzjkinaas22
tanu0618