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

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

👇
Ответ:
ymniy4
ymniy4
02.06.2023

s := 0; (начальное значение счётчика)

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

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

 s := s + 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 обменов, s = 6.

ответ: 6

4,4(12 оценок)
Открыть все ответы
Ответ:
vadimgricuk74
vadimgricuk74
02.06.2023

#include <iostream>

#include <cmath>

#include <algorithm>

#pragma GCC optimize("Ofast")

#define ll long long

#define ld long double

using namespace std;

ll digits(ll a){

   ll c = 0;

   while(a > 0){

       a /= 10;

       c++;

   }

   return c;

}

signed main() {

   srand(time(NULL));

   const ll n = 25;

   ll sum = 0;

   ll mas[n];

   for(ll i = 0; i < n; i++){

       mas[i] = rand() % 493 - 246;

       cout << mas[i] << " ";

       if(digits(mas[i]) == 2 && mas[i] % 4 == 0)

           sum += mas[i];

   }

   cout << "\n" << sum;

}

4,8(62 оценок)
Ответ:
gogamer228
gogamer228
02.06.2023

1.Найти сумму чётных цифр числа.

uses crt;
var a,x:integer;
i,s:integer;
begin
clrscr;
writeln('Vvedite chislo');
readln( a ); x:=a;
s:=0;
while ( x<>0 ) do
begin
if x mod 2 =0 then s:= s + (x mod 10);
x:= x div 10;
end;
writeln( 'Summa= ', s );
readln;
end.

 

2.Вывести на экран таблицу умножения.

uses crt;
var a: array [1..10,1..10] of integer;
i,j:integer;
begin
clrscr;
for i:=2 to 10 do
begin
writeln;
for j:=1 to 10 do
write(i*j,'  ');
end;
writeln;
readln;
end.

 

3.Найти все двухзначные числа, сумма которых равна а.

uses crt;
var a,x,i,s:integer;
begin
clrscr;
writeln('Vvedite a');
readln(a);
for i:=10 to 99 do
begin
x:=i;
s:=0;
while (x<>0) do
begin
s:=s+(x mod 10);
x:=x div 10;
end;
if s=a then write(i,' ');
end;
readln;
end.

 

4.Найти количество и сумму чётных делителей.

uses crt;
var s,k,i,a:integer;
begin
clrscr;
writeln('Vvedite chislo');
readln(a);
i:=2;
s:=0;
k:=0;
while i<>a do
begin
if (a mod i =0) and (i mod 2=0) then
begin
s:=s+i;
k:=k+1;
end;
i:=i+1;
end;
writeln('Summa chisletelei =',s);
writeln('Kolichestvo delitelei= ',k);
readln;
end.

4,7(88 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ