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

Впрограмме используется одномерный целочисленный массив a с индексами от 0 до 9. значения элементов равны 6; 9; 7; 2; 1; 5; 0; 3; 4; 8 соответственно, т.е. a[0] = 6; a[1] = 9 и т.д. определите значение переменной c после выполнения следующего фрагмента программы. c : = 0; for i : = 1 to 9 do if a[i - 1] < a[i] then begin c : = c + 1; t : = a[i]; a[i] : = a[i - 1]; a[i - 1] : = t end;

👇
Ответ:
Рассмотрим, что делает эта программа.
  c := 0; // начальное значение счётчика

  for i := 1 to 9 do // цикл по i

    if A[i - 1] < A[i] then begin // если текущий элемент больше предыдущего

      c := c + 1; // то увеличиваем счётчик на 1

      t := A[i]; // и меняем текущий элемент местами с предыдущим

      A[i] := A[i - 1];

      A[i - 1] := t

    end;

Последние три строчки перед end - обычный алгоритм обмена значениями между двумя переменными (t = a; a = b; b = t).

Итак, моделируем, что делает программа и считаем число обменов.

0) 6 9 7 2 1 5 0 3 4 8 - исходный массив
1) 6 9 7 2 1 5 0 3 4 8 -> 9 6 7 2 1 5 0 3 4 8 ОБМЕН
2) 9 6 7 2 1 5 0 3 4 8 -> 9 7 6 2 1 5 0 3 4 8 ОБМЕН
3) 9 7 6 2 1 5 0 3 4 8 ОК
4) 9 7 6 2 1 5 0 3 4 8 ОК
5) 9 7 6 2 1 5 0 3 4 8 -> 9 7 6 2 5 1 0 3 4 8 ОБМЕН
6) 9 7 6 2 5 1 0 3 4 8 ОК
7, 8, 9) Ноль будет "всплывать" в конец, 3 ОБМЕНА

Всего будет 6 обменов, c = 6.
4,8(17 оценок)
Открыть все ответы
Ответ:
bileskayilona
bileskayilona
23.11.2022
#include "stdafx.h"
#include <iostream>
#include<ctime>
using namespace std;
int main()
{
setlocale(LC_ALL, "ru");
srand(time(NULL));
 const int SIZE = 11;
 int arr[SIZE];
const int SIZE2 = 1;
int arr2[SIZE2]{};
 int arr3[SIZE2]{};
 for (int i = 0,j=0,d=0; i < SIZE; i++)
{ arr[i] = rand() % 51-25;
 if (arr[i] < 0) { arr2[j] = arr2[j] + arr[i]; }
 if (arr[i] > 0) { arr3[d]= arr3[d]+ arr[i]; }
 if (i == 10)
 { cout << "Сумма отрицательных элементов массива = " << arr2[j] << endl;
  cout << "Сумма положительных элементов массива = " << arr3[d] << endl; }
}
 system("pause");
return 0;}
4,7(59 оценок)
Ответ:
 1) 
var i,n,k:integer;
 a:array[1..10] of integer;
begin
 for i:=1 to 10 do
  read(a[i]);
 writeln;
 for i:=10 downto 1 do
  write(a[i],' ');
 readln;
 readln
end.
3)
var i,n,k:integer;
a:array[1..10] of integer;
begin
 for i:=1 to 10 do
  read(a[i]);
 writeln;
 writeln((a[5]+a[6])/2:0:2);
 readln;
 readln
end.
4)
var i,n,k,min:integer;
a:array[1..10] of integer;
begin
 for i:=1 to 10 do
  begin
   read(a[i]);
   if (a[i] mod 10=4) or (a[i] mod 10=-4)
    then min:=a[i];

 for i:=1 to 10 do
   if ((a[i] mod 10=4) or (a[i] mod 10=-4)) and (a[i]<min)
    then min:=a[i];
 writeln(min);
end.

5)
 var i,n,k,max:integer;
a:array[1..10] of integer;
begin
 max:=0;
 for i:=1 to 10 do
  begin
   read(a[i]);
   if (a[i] mod 5=0) and (a[i]>max)
    then max:=a[i];
  end;
 writeln(max);
end.
4,6(52 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ