0 / 0 / 0
Регистрация: 21.01.2015
Сообщений: 7
1

Массивы: подсчет количества и суммы элементов, больших половины максимального значения в каждой строке

21.01.2015, 21:21. Показов 1922. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно решить задачу, я начал её, но не знаю как дорешать.
С помощью генератора случайных чисел сформировать квадратную целочисленную матрицу размерности m x m, где значение m <=7 вводится с клавиатуры. Диапазон формируемых в матрице значений от –10 до +10. Написать программу, в которой предусмотреть подсчет количества и суммы элементов, больших половины максимального значения в каждой строке. В результате на экран вывести сформированную матрицу, количество и сумму элементов, больших половины максимального значения с номерами соответствующих строк.
Подсчет значений количества и суммы элементов, больших половины максимального значения в строке оформить в виде функции.
Код программы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdafx.h>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>//для использования функции srand()
#include <time.h>//для использования функции time()
#include <iomanip>//для использования флага setprecision
using namespace std;
int main()
{ 
 const int n = 7; // размерность массива 
 int a[n][n] ; // описание двумерного массива (матрицы)
 int b[n];//описание одномерного массива
 int i,j,k;
 int kol, max=0; //количество 
 do// цикл для проверки количества элементов 0<k<=n 
 {cout <<" kol elementv, k= ";
 cin >> k;
 if ((k<=0)||(k>n))
 cout <<"k doljno byt ot 1 do " << n;
 }
 while ((k<=0)||(k>n));
 srand( (unsigned) time(NULL));//инициализация генератора случайный чисел 
 for (i=0;i<k;i++)
   {// заполнение матрицы с помощью ГСЧ
    for (j=0;j<k;j++)
       a[i][j]=rand()/(1.0*RAND_MAX)*(10+10)-10; //rand()/(1.0*RAND_MAX)*(max-min)+min
    b[i]=0;// заполнение одномерного  массива 0
   }
 
 cout<<"Sformirovanа matritsa"<<endl;
//флаги объекта cout для форматирования(или используйте табуляцию )
 cout<<setfill(' ' )<<setprecision(4)<<setiosflags(ios::showpoint | ios::fixed);
 for (i = 0; i<k; i++)
   {//вывод сформированной матрицы 
     for (j=0;j<k;j++) cout <<setw(10)<<a[i][j] <<"  " ;
     cout<<endl;
   }
 cout<<"Sformirovan massiv"<<endl;
 for (i = 0; i<k; i++)
   {//вывод сформированного массива 
     cout <<setw(10)<<b[i]<<"  " ;
   }
 cout<<endl;
 system("pause");
 return 0; 
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.01.2015, 21:21
Ответы с готовыми решениями:

Функции: нахождение количества элементов, больших заданного значения, в каждой строке матрицы
Здравствуйте. Помогите с прогой, она должна в двумерном массиве находить количество элементов которые больше заданного значение в каждой...

Подсчет в каждой строке количества и суммы элементов, состоящих из двух цифр, сумма которых не делится на 2
С помощью генератора случайных чисел сформировать квадратную целочисленную матрицу размерности m x m, где значение m &lt;=7 вводится с...

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

4
1 / 1 / 1
Регистрация: 20.01.2015
Сообщений: 22
21.01.2015, 21:34 2
Что значит больших половины максимального значения? Этот момент не понятен
0
0 / 0 / 0
Регистрация: 21.01.2015
Сообщений: 7
21.01.2015, 23:19  [ТС] 3
romkds, допустим матрица 3х3, 6 8 5
2 3 1
-1 2 4
На выходе должно получится:
Максимальное значение в каждой строке делится на 2, выходит половина максимального значения, допустим в 1-ой строке 8/2=4 посчитать сумму элементов больших за 4, это выйдет 19 и т.д., и количество элементов больших выйдет 3. И так по каждой строке.
0
173 / 131 / 74
Регистрация: 04.12.2013
Сообщений: 552
21.01.2015, 23:39 4
Лучший ответ Сообщение было отмечено shadesoul как решение

Решение

shadesoul, ваш код ужасен. Сотрите его!

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
using namespace std;
void counter(int *array, int length) {
 
    int max = array[0];
    int sum = 0, count = 0;
    for (unsigned i = 1; i < length; i++)
        if (max < array[i]) max = array[i];
    max /= 2;
    for (unsigned i = 0; i < length; i++) {
        if (array[i] > max) {
            sum += array[i];
            count++;
        }
    }
    
    cout << " |\tn: " << count << "\tsum: " << sum << endl;
}
 
int main() {
    
    int m;
    cin >> m;
    if (m > 7 || m <= 0) return 0;
    int** array = new int*[m];
    for(int i = 0; i < m; ++i) {
        array[i] = new int[m];
        for (unsigned j = 0; j < m; j++)
            array[i][j] = rand() % 21 - 10;
    }
    
    for (unsigned i = 0; i < m; i++) {
        for (unsigned j = 0; j < m; j++) {
            cout << array[i][j] << "\t";
        }
        counter(array[i], m);
    }
    
    for (int i = 0; i < m; ++i) delete [] array[i];
    delete [] array;
 
    return 0;
}
Добавлено через 8 минут
И советую в функции counter заменить
C++
1
int max = array[0];
на
C++
1
float max = array[0];
Так будет правильнее.
1
0 / 0 / 0
Регистрация: 21.01.2015
Сообщений: 7
22.01.2015, 00:40  [ТС] 5
Prorok2323, спасибо большое.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.01.2015, 00:40
Помогаю со студенческими работами здесь

Подсчет суммы элементов массива отдельно в каждой строке
#include &lt;iostream&gt; #include &lt;ctime&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;Russian&quot;); srand(time(NULL)); ...

Подсчет суммы элементов матрицы в каждой ее строке (кроме диагонального)
В следующей программе был реализован подсчет суммы только элементов квадратной матрицы, стоящих перед стоящими на главной диагонали (в...

Подсчёт суммы и количества элементов линейной таблицы, имеющих четные значения
Составить программу для подсчёта суммы и количества элементов линейной таблицы А, состоящей из 20 целых чисел, имеющих чётные значения.

Подсчет суммы элементов в каждой строке и каждом столбце двумерного массива
Составьте программу подсчета суммы элементов в каждой строке и каждом столбце двумерного массива. Число строк и столбцов произвольное....

Подсчет суммы элементов в каждой строке и каждом столбце двумерного массива
Составьте программу подсчета суммы элементов в каждой строке и каждом столбце двумерного массива. Число строк и столбцов произвольное....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Циклы for в Python
py-thonny 17.03.2025
Существует множество ситуаций, когда нам нужно выполнить одно и то же действие несколько раз. Цикл for в Python — настоящий рабочий конь для большинства программистов. Если вам нужно пройтись по всем. . .
Предсказание ветвлений - путь к высокопроизводи­тельному C++
NullReferenced 17.03.2025
В высокопроизводительном программировании на C++ каждый такт процессора на счету. Когда речь заходит о разработке систем с низкой задержкой — будь то высокочастотная торговля, обработка потоковых. . .
Паттерн CQRS в C#
UnmanagedCoder 17.03.2025
Создание сложных корпоративных приложений часто требует нестандартных подходов к архитектуре. Один из таких подходов — паттерн CQRS (Command Query Responsibility Segregation), предлагающий простую,. . .
Паттерн Цепочка ответственности в C#
UnmanagedCoder 17.03.2025
Цепочка ответственности — это поведенческий паттерн проектирования, который позволяет передавать запросы последовательно по цепочке потенциальных обработчиков, пока один из них не обработает запрос. . . .
Создаем микросервисы с NestJS, TCP и Typescript
run.dev 17.03.2025
NestJS — фреймворк, который значительно упрощает создание серверных приложений на Node. js. Его прелесть в том, что он комбинирует концепции ООП, функционального программирования и предлагает. . .
Гексагональная архитектура со Spring Boot
Javaican 17.03.2025
Если вы когда-нибудь сталкивались с ситуацией, когда внесение простых изменений в базу данных или пользовательский интерфейс заставляло вас переписывать весь код, то вы точно оцените элегантность. . .
Позиционировани­е Kafka Consumer и Seek-операции
Javaican 17.03.2025
Что же такое Consumer Seek в Kafka? По сути, это API-метод, который позволяет программно указать, с какой позиции (offset) Consumer должен начать или продолжить чтение данных из партиции. Без этого. . .
Python NumPy: Лучшие практики и примеры
py-thonny 17.03.2025
NumPy (Numerical Python) — одна из ключевых библиотек для научных вычислений в Python. Она превращает Python из просто удобного языка общего назначения в среду для проведения сложных математических. . .
Java Micronaut в Docker: контейнеризация с Maven и Jib
Javaican 16.03.2025
Когда речь заходит о микросервисной архитектуре на Java, фреймворк Micronaut выделяется среди конкурентов. Он создан с учётом особенностей облачных сред и контейнеров, что делает его идеальным. . .
Управление зависимостями в Java: Сравнение Spring, Guice и Dagger 2
Javaican 16.03.2025
Инъекция зависимостей (Dependency Injection, DI) — один из фундаментальных паттернов проектирования, который радикально меняет подход к созданию гибких и тестируемых Java-приложений. Суть этого. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru