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

Наибольшее значение вычесть из всех элементов массива

18.09.2022, 19:25. Показов 1400. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Запросить у пользователя размер массива и его элементы. На печать вывести исходные и преобразованные массивы. По окончании работы с массивом освободить занимаемую им память. Заданы два массива А(5) и В(5). В каждом из массивов найти наибольшее значение и вычесть его из всех элементов массивов. На печать вывести исходные и преобразованные массивы.
Попробовал решить сам в итоге получил что-то такое (максимально режуще глаз), но, к сожалению нерабочее.
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
#include <string>
#include <cmath>
#include <iostream>
 
using namespace std;
 
int main() {
    int size = 0;
    double max1 = 0, max2 = 0;
    double* A = new double[100];
    double* B = new double[100];
    double* a = new double[100];
    double* b = new double[100];
    cout << "Enter array size ";
    cin >> size;
    for (int i = 0; i < size; i++) {
        cout << "A[" << i << "] =";
        cin >> A[i];
        if (A[i] > max1) A[i] == max1;
 
        
    }
    for (int i = 0; i < size; i++) {
        cout << "B[" << i << "] =";
        cin >> B[i];
        if (B[i] > max2) B[i] == max2;
    
        
    }       
    for (int i = 0; i < size; i++) {
        a[i] = A[i] - max1;
        cout << "new array = " << endl << a[i] << endl;
        b[i] = B[i] - max2;
        cout << "new array = " << endl << b[i] << endl;
    }
    delete[] A;
    delete[] B;
    delete[] a;
    delete[] b;
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.09.2022, 19:25
Ответы с готовыми решениями:

Вывести номера всех элементов массива которые имеют наибольшее значение
Номера всех элементов массива В1,В2,...,Bn, которые имеют наибольшее значение (оно может повторяться). нужно как-то сделать так, что бы...

Найти среднее арифметическое значение массива и вычесть его из всех элементов
2. Ввести массив A(N). Найти среднее арифметическое значение массива. Из четных элементов массива вычесть среднее арифметическое. Вывести...

В двумерном массиве A(m,n) найти самое маленькое по модулю значение и вычесть его из всех элементов массива
В двумерном массиве A(m,n) найти самое маленькое по модулю значение и вычесть его из всех элементов массива.

22
Злостный нарушитель
 Аватар для Verevkin
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
19.09.2022, 11:46
Студворк — интернет-сервис помощи студентам
Ахтунг! Не отлаживал! Писал на заборе!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// функция находит максимальное значение среди элементов массива х
double get_max(double* x, size_t count)
{
  assert(x && count);
  double* max_ptr = x++;
  for (; --count; x++)
    if (*x > *max_ptr) max_ptr = x;
  return *max_ptr;  
}
 
// функция находит максимальное значение среди элементов массива х
// и вычитает его из каждого элемента.
double* foo(double* x, size_t count)
{
  double max = get_max(x, count)
  for (x += count - 1; count--; x--)  
    *x -= max;
  return x;  
}
0
1 / 1 / 0
Регистрация: 24.12.2021
Сообщений: 23
19.09.2022, 22:22  [ТС]
Цитата Сообщение от programmer_08 Посмотреть сообщение
#include <iostream>
#include <ctime>
template<typename T>
T findmax(T* arr, unsigned size)
{
   T max = *arr;
    for(int i = 1; i < size; i++)
      if(max < arr[i])
         max = arr[i];
   return max;
}
void print(int arr[], unsigned size)
{
std::cout << *arr;
for(int i = 1; i < size; i++)
std::cout << "   " << arr[i];
}
void fill(int arr[], unsigned size)
{
for(int i = 0 ; i < size; i++)
arr[i] = rand() % 256 - 128;
}
int main()
{
int n;
std::cin >> n;
while(std::cin.get() != '\n');
int *A = new int[n], *B = new int[n];
srand(time(NULL));
fill(A, n); fill(B, n);
int maxA = findmax(A, size), maxB = findmax(B, size);
std::cout << maxA << "  " << maxB << "\n";
print(A, size);
std::cout << "\n\n";
print(B, size);
std::cout << "\n\n";
for(int i = 0; i < size; i++)
{
B[i] -= (maxA + maxB);
A[i] -= (maxA + maxB);
}
print(A, size);
std::cout << "\n\n";
print(B, size);
std::cout << "\n\n";
std::cin.get();
return 0;
}
cпасибо, щас сяду разбираться
0
0 / 0 / 0
Регистрация: 20.09.2022
Сообщений: 2
20.09.2022, 20:09
очевидно до ужаса
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.09.2022, 20:09

Вывести наименьшее и наибольшее значение из всех элементов массива
Вывести наименьшее и наибольшее значение из всех элементов массива

Вывести наименьшее и наибольшее значение из всех элементов массива
Вывести наименьшее и наибольшее значение из всех элементов массива

Найти среднее значение отрицательных элементов и вычесть это значение из всех элементов последней строки
1)Найти среднее значение отрицательных элементов и вычесть это значение из всех элементов последней строки Вывести полученный массив на...

Из всех положительных элементов вычесть a, из всех отрицательных вычесть b, ко всем нулевым элементам прибавить c
Здравствуйте, помогите пожалуйста решить задачу. Дан массив вещественных чисел. Из всех положительных элементов вычесть a, из всех...

Массив: вычесть из всех членов последовательности наибольшее число массива, если а3 > а5, иначе - наименьшее число массива.
Даны действительные числа а1 ... а10 . Требуется вычесть из всех членов последовательности наибольшее число массива, если а3 &gt; а5, иначе...


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

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

Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru