
Имеется массив из десяти чисел. Массив может иметь следующий вид: 300 250 250 250 250 200 200 200
200 150. Некоторые числа повторяются. Задача: программа должна вывести на экран с какого по какой элемент числа одинаковы. Результат: a1=300 a2-a5=250 a6-a9=200 a10=150 Числа идут по убыванию.На любом языке высокого уровня. (Паскаль, си, php...)

Ответы на вопрос

begin
var n:=10;
var a:=ReadArrInteger(n);
var (ib,ie):=(0,0);
var v:=a[ib];
for var i:=1 to n-1 do
begin
if a[i]<>v then begin
ie:=i-1;
if ib=ie then Writeln('a',ib+1,'=',v)
else Writeln('a',ib+1,'-a',ie+1,'=',v);
v:=a[i]; ib:=i;
end
end;
ie:=n-1;
if ib=ie then Writeln('a',ib+1,'=',v)
else Writeln('a',ib+1,'-a',ie+1,'=',v);
end.



C#, если что не понятно спрашивайте...






На PHP решение данной задачи может выглядеть следующим образом:
```php function findRepeatedNumbers($array){ $result = ''; for($i = 0; $i < count($array); $i++){ // Проверяем, есть ли повторяющееся число после текущего элемента if($i+1 < count($array) && $array[$i] == $array[$i+1]){ $start = $array[$i]; $result .= "+a{$i}={$start}+"; // Ищем, до какого элемента идут повторяющиеся числа $j = $i+1; while($j+1 < count($array) && $array[$j] == $array[$j+1]){ $j++; } $end = $array[$j]; $result .= "a{$i+1}-a{$j}={$end}+"; // Устанавливаем указатель текущего элемента на следующий после повторяющихся чисел $i = $j; } } return $result; }
$array = [300, 250, 250, 250, 250, 200, 200, 200, 200, 150]; $result = findRepeatedNumbers($array); echo $result; // Выводит "a1=300+a2-a5=250+a6-a9=200+a10=150" ```
Данное решение использует цикл `for` для проверки каждого элемента массива. Если текущий элемент равен следующему, то мы находим начало повторяющейся последовательности и ищем конец этой последовательности. Затем в строку `$result` добавляются соответствующие числа в нужном формате. Указатель текущего элемента (`$i`) устанавливается на следующий после повторяющихся чисел элемент. В конце функция возвращает сформированную строку.
Результат выполнения программы будет строкой `"a1=300+a2-a5=250+a6-a9=200+a10=150"`, что означает, что числа, начиная с первого элемента, повторяются до пятого элемента со значением 250, далее повторяются до девятого элемента со значением 200, и наконец, последнее число с индексом 10 равно 150.


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