Есть ответ 👍

Написать на c++: в данной матрице 3*5 замените на -2 любую одну строку с наибольшим количеством нулей

163
264
Посмотреть ответы 2

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

blondi29
4,6(62 оценок)

#include < iostream>

#include < iomanip>

using namespace std;

int main() {

int max, index;

max = 0;

index = -1;

int arr[3][5] = { { 3, 0, 3, 0, 5} , { 5, 3, 0, 2, 0} , { 4, 0, 3, 2, 1} };

for (int i = 0; i < 3; ++i){   // вывод исх. матрицы, можешь удалить, если надо.

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

  cout < < setw(3) < < arr[i][j];

  }

cout < < endl;

}           // до этой строки вывод исх. матрицы

int tmp = 0;

for (int j = 0; j < 5; j++){   // подсчет нулей

  for (int i = 0; i < 3; i++){

    if (arr[i][j] == 0){

    tmp++;

    }

  }

  if (tmp > max){   // тут получаем номер столбца, в котором

    max = tmp;   // больше всего нулей

    index = j;

  }

  tmp = 0;

  }

cout < < endl < < "=================" < < endl;

if (index ! = -1){

  for (int i = 0; i < 3; i++){

  arr[i][index] = -2;

  }

}

for (int i = 0; i < 3; ++i){   // вывод измененной матрицы

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

    cout < < setw(3) < < arr[i][j];

  }

  cout < < endl;

  }

return 0;

}


#include < iostream> using namespace std; struct link  {      double data;       link* next;   };     link* first = null;     void additem(int d) // добавление элементов список {      link* newlink = new link;       newlink-> data = d;       newlink-> next = first;       first = newlink;   }    void display() // вывод на экран {      link* current = first;       while(current)      {          cout < < current-> data < < " ";           current = current-> next;       }   }   int max() // max {      link* current = first;       int m=0;     while(current)      {          if (current-> data > m) m = current-> data;           current = current-> next;       }     return m; }  void norm(int m) // нормализация {      link* current = first;       while(current)      {          current-> data /= m;           current = current-> next;       }   }  int main()  {      int n=10;     int a;     for (int i=1; i< n; i++) {     cin > > a;     additem(a);       }     display();     cout < < endl < < max() < < endl;     norm(;     display(); } пример: 64 45 19 42 83 38 71 23 52 83 0.771084 0.542169 0.228916 0.506024 1 0.457831 0.855422 0.277108 0.626506

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS