Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 24.12.2021
Сообщений: 23

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

18.09.2022, 19:25. Показов 1373. Ответов 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
Ответ Создать тему
Новые блоги и статьи
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru