Kakan123455
19.11.2022 12:50

Прочитайте код программы python , в котором допущены ошибки(фото). Наберите правильный код .


Прочитайте код программы python , в котором допущены ошибки(фото). Наберите правильный код .

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
likaaaasf
03.08.2022 06:48

#include <iostream>

#include <iomanip>

using namespace std;

int main()

{

 int a[5][5] =

 {

   {4,-5,8,-3,1},

   {-3,8,-1,1,-8},

   {9,6,6,-3,-7},

   {-7,-3,3,6,-7},

   {7,-3,-6,5,0},

 };

 int b[5][5];

 int i, j, cp, cm, sp, sm;

 setlocale(LC_ALL, "Russian");

 cout << "Массив A";

 for (i = 0; i < 5; i++) {

   cout << endl;

   for (j = 0; j < 5; j++) {

     cout << setw (4) << a[i][j];

   }

 }

 cp = cm = sp = sm = 0;

 for (i = 0; i < 5; i++) {

   for (j = 0; j < 5; j++) {

     if (a[i][j] >= -5)

       b[i][j] = a[i][j];

     else

       b[i][j] = - a[i][j];

     if (a[i][j] > 0) {

       cp++;

       sp += a[i][j];

     }

     if (a[i][j] < 0) {

       cm++;

       sm += a[i][j];

     }

   }

 }

 cout << endl << endl;

 cout << "Среднее значение положительных элементов = " << (float) sp / cp << endl;

 cout << "Среднее значение отрицательных элементов = " << (float) sm / cm << endl << endl;

 cout << "Массив B";

 for (i = 0; i < 5; i++) {

   cout << endl;

   for (j = 0; j < 5; j++) {

     cout << setw(4) << b[i][j];

   }

 }

 return 0;

}

0,0(0 оценок)
Ответ:
Vladosik0987
14.12.2022 10:01
Выполняя алгоритм, получаем следующий результат (15 итераций)

1. 0..65534 -> 32767
2. 0..32766 -> 16383
3. 0..16382 -> 8191
4. 0..8190  -> 4095
5. 0..4094  -> 2047
6. 2048..4094 -> 3071
7. 2048..3070 -> 2559
8. 2560..3070 -> 2815
9. 2816..3070 -> 2943
10. 2944..3070 -> 3007
11. 2944..3006 -> 2975
12. 2976..3006 -> 2991
13. 2992..3006 -> 2999
14. 3000..3006 -> 3003
15. 3000..3002 -> 3001

Если лень перебирать вручную, можно воспользоваться программой

var k,l,r,x,f:integer;
begin
f := 3001;
l := 0;
r := 65534;
x := (l + r) div 2;
k := 1;
while (x <> f) and (l < r) do
  begin
  writeln(k,' ',l,' ',r,' ',x);
  k := k + 1;
  if f < x then r := x - 1
    else l := x + 1;
  x := (l + r) div 2
  end;
writeln(k,' ',l,' ',r,' ',x);
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота