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

В С++
Дан двовимірний масив. Знайти суму і кількість елементів в кожному стовпці, що потрапляють
під інтервал від A до B

👇
Ответ:
LELEGEG
LELEGEG
15.03.2021

Объяснение:

#include <iostream>

#include <vector>

using namespace std;

int main()

{

   setlocale(LC_ALL, "Russian");

   int m,n;

   cin >> m >> n;// размер матрицы m*n, где m - количество столбцов

   vector<vector<int>> a(m, vector<int>(n,0));

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

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

           cin >> a[i][j];//заполнение матрицы

       }

   }

   cout << endl;

   cout << "Введите A и B"<<endl;

   int A, B;

   cin >> A >> B;

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

       int summ = 0,counter=0;

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

           if (A<= a[j][i] && B>=a[j][i]) {

               summ += a[j][i];

               counter++;

           }

       }

       cout << endl;

       cout << "В " << i+1<<" столбце:"<<endl;

       cout <<"сумма чисел, попавших на интервал [" << A << "," << B << "] " <<", равна " <<summ<<";"<<endl;

       cout <<"количество чисел, попавших на интервал ["<<A<<","<<B<<"], "<< counter<<"."<<endl;

   }

}

4,8(3 оценок)
Открыть все ответы
Ответ:
Ilyas30rus
Ilyas30rus
15.03.2021
// PascalABC.NET 3.1, сборка 1267 от 10.07.2016
const
  k=4; //количество классов
  u=18; // количество учеников в классе
var
  a:array[1..k,1..u] of real; // массив с ростом
  n:array[1..k] of integer; // массив результатов
  i,j:integer; // счетчики циклов
  m:real; // средний рост ученика в классе
begin
  for i:=1 to k do begin
    Writeln('Введите рост учеников ',i,'-го из классов');
    m:=0;
    for j:=1 to u do begin Read(a[i,j]); m:=m+a[i,j] end;
    m:=m/u;
    n[i]:=0;
    for j:=1 to u do
      if abs(a[i,j]-m)>5.0 then Inc(n[i]);
    end;
  Writeln('Количество учеников с ростом, отличающимся от среднего');
  Writeln('по каждому из классов более, чем на 5');
  for i:=1 to k do Write(n[i]:5)
end.

Пример решения для упрощенного случая, когда в классе на 18, а 5 учеников (чтобы меньше набирать)
Введите рост учеников 1-го из классов
168 174 181 172 175
Введите рост учеников 2-го из классов
162 173 170 158 183
Введите рост учеников 3-го из классов
157 185 159 168 167
Введите рост учеников 4-го из классов
170 173 176 168 171
Количество учеников с ростом, отличающимся от среднего
по каждому из классов более, чем на 5
    2    3    3    0
4,4(46 оценок)
Ответ:
marelmrub
marelmrub
15.03.2021
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016
begin
  var n:=ReadInteger('n=');
  var a:=ArrRandom(n,-50,50);
  Writeln('Исходный массив'); a.Println;
  var se:=a.Where(x->x mod 3=0);
  if se.Count=0 then
    Writeln('В массиве нет элементов, кратных трем')
  else begin
    var b:=se.Max;
    var i:=0;
    while a[i]<>b do Inc(i);
    if i=n-1 then Writeln('Максимальный элемент - последний')
    else begin
      Writeln('Результирующий массив');
      a[i+1]:=abs(a.Where(x->x<0).Sum); a.Println
      end
    end
end.

Тестовое решение:
n= 15
Исходный массив
-24 -38 15 -33 -40 -18 21 34 20 49 -19 29 29 38 -41
Результирующий массив
-24 -38 15 -33 -40 -18 21 213 20 49 -19 29 29 38 -41
4,4(70 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ