Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Sergey_Golovko
-7 / 0 / 0
Регистрация: 10.06.2011
Сообщений: 13
#1

Домножить все члены заданной последовательности на квадрат минимума или максимума, в зависимости от условия - C++

11.06.2011, 21:59. Просмотров 1369. Ответов 9
Метки нет (Все метки)

3. Одномерные массивы

Дана последовательность действительных чисел а1, а2 ..., аn. Требуется домножить все члены последовательности а1, а2 ..., аn на квадрат ее наименьшего члена, если ак> 0, и на квадрат ее наибольшего члена, если ак< 0
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2011, 21:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Домножить все члены заданной последовательности на квадрат минимума или максимума, в зависимости от условия (C++):

Найти наименьший элемент массива и домножить на него все члены последовательности - C++
5) Дан массив А(40). Найти наименьший элемент массива и домножить на него все члены последовательности, предшествующие этому члену. ...

Найти наименьший элемент массива и домножить на него все члены последовательности, предшествующие этому члену - C++
Dev C++ использовать библиотеки (&lt;include stdio.h&gt; и тд) Дан массив А(40). Найти наименьший элемент массива и домножить на него все...

Массив: Определить сумму максимума и минимума последовательности. - C++
Написать программу на Pellec C : Задана последовательность вещественных чисел. Длина последовательности вводится пользователем....

Нахождение минимума/максимума в конкретной строке или столбце - C++
Ребят, подскажите пожалуйста, я забыл как находить минимальный/максимальный элемент в конкретной строке/столбце. Подправьте код, а то...

Даны две последовательности. Верно ли, что все члены второй последовательности входят в первую? - C++
Даны две последовательности a^1,a^2,...,a^n, b^1,b^2,...,b^n (m&lt;n). В каждой из них члены различны. Верно ли, что все члены второй...

Найти все члены последовательности - C++
Дано вещественное b&gt;=1. Найти все члены последовательности a, построенной по правилу а1=1,а=a+1/a, i=2,3,...,меньшие b. У меня есть...

9
soon
2541 / 1306 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
12.06.2011, 05:55 #2
ак-элемент №"к" массива а?
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
#include <math.h>
 
int n;
 
float min(float* arr)
{
    float min = arr[0];
    for (int i = 1; i < n; ++i)
        min = std::min(min, arr[i]);
    return min;
}
 
float max(float* arr)
{
    float max = arr[0];
    for (int i = 1; i < n; ++i)
        max = std::max(max, arr[i]);
    return max;
}
 
void result(float* arr, float num)
{
    std::cout << "result: \n";
    for (int i = 0; i < n; ++i)
    {
        arr[i] *= pow(num, 2);
        std::cout << arr[i] << ' ';
    }
    system("pause");
}
       
int main()
{
    std::cout << "enter n: \n";
    std::cin >> n;
    int k;
    std::cout << "enter k: \n";
    std::cin >> k;
    if (k < 1)
    {
        std::cout << "k < 1\n";
        system("pause");
        return 0;
    }
    float* arr = new float [n];
    std::cout << "enter array: \n";
    for (int i = 0; i < n; ++i)
        std::cin >> arr[i];
    if (arr[k-1] > 0)
        result(arr, min(arr));
    else if (arr[k-1] < 0)
        result(arr, max(arr));
    else
    {
        std::cout << "arr[k] == 0\n";
        system("pause");
        return 0;
    }
}
0
ITALIANO
1 / 1 / 1
Регистрация: 24.10.2014
Сообщений: 176
08.12.2015, 14:51 #3
C++
1
min = std::min(min, arr[i]);
Что обазначает и почему работает только с std::?

Добавлено через 39 минут
Конкретно именно эта строчка...

Добавлено через 2 минуты
И ещё вот эта строчка:
C++
1
max = std::max(max, arr[i]);
Добавлено через 2 минуты
Проблема в том, что программа действительно находит минимальное число, которое потом возводит в квадрат, а потом умнажает на все числа в том числе и на сому себя, но я не знаю как сделать так что бы именно максимальный элемент возвёлся в квадрат и перемножил всё, в том числе и на самого себя...

Добавлено через 17 минут
Помогите пожалуйста, мне порой кажется, что код не верен...

Добавлено через 10 минут
Помогите, мне очень нужно!!!

Добавлено через 8 минут
Что тут происходит в программе?
C++
1
2
3
4
5
6
7
8
9
    float* arr = new float [n];
    cout << "enter array: "<<endl;
    for (int i = 0; i < n; ++i)
        cin >> arr[i];
    if (arr[k-1] > 0)
        result(arr, min(arr));
    else if (arr[k-1] < 0)
        result(arr, max(arr));
    else
0
SupremeEP
2 / 2 / 1
Регистрация: 01.12.2015
Сообщений: 27
08.12.2015, 15:23 #4
C++
1
2
3
4
5
6
7
8
9
float* arr = new float [n];
    cout << "enter array: "<<endl;
    for (int i = 0; i < n; ++i)
        cin >> arr[i];
    if (arr[k-1] > 0)
        result(arr, min(arr));
    else if (arr[k-1] < 0)
        result(arr, max(arr));
    else
Здесь мы, грубо говоря, создаём массив из n элементов и заполняем его, далее мы берём k-1 элемент, так как нумерация элементов массива начинается с нуля, и затем перемножаем все элементы массива при помощи функции result() в зависимости от числа arr[k-1].

Функции max и min определяют максимальное и минимальное число соответственно.
Здесь max(arr) пройдёт по всему массиву arr и найдёт максимальное число.
С min(arr) таже история.

P.S. Я бы использовал вектор.
0
ITALIANO
1 / 1 / 1
Регистрация: 24.10.2014
Сообщений: 176
09.12.2015, 04:21 #5
SupremeEP, Спасибо большое, за разъяснение, если можно прокомментируйте 1 строчку с new float и ещё вот это...
C++
1
 cout << arr[k]==0;
0
SupremeEP
2 / 2 / 1
Регистрация: 01.12.2015
Сообщений: 27
09.12.2015, 09:18 #6
Здесь мы создаём новый объект в виде массива из n элементов.
C++
1
float* arr = new float [n];
Тут, по идее, выводится 1(true), если arr[k] равен нулю и 0(false), если не равен. Но чтобы это заработало нужно взять условие в скобки.
C++
1
cout << arr[k]==0;

Если так не сделать, то будет выводиться просто arr[k].
C++
1
cout << (arr[k]==0);
0
ITALIANO
1 / 1 / 1
Регистрация: 24.10.2014
Сообщений: 176
09.12.2015, 12:06 #7
Пожалуйста помогите с этой строчкой кода
C++
1
min = std::min(min, arr[i]);
, без std:: не работает прога а так у меня всё прописано через
C++
1
using namespace std;
Добавлено через 22 секунды
то же самое и с максимумом

Добавлено через 5 минут
Если есть, дайте альтернативу этой строчке.
0
SupremeEP
2 / 2 / 1
Регистрация: 01.12.2015
Сообщений: 27
09.12.2015, 12:11 #8
Так пиши с std:: и без
C++
1
using namespace std;
Так даже лучше будет.
0
ITALIANO
1 / 1 / 1
Регистрация: 24.10.2014
Сообщений: 176
09.12.2015, 12:13 #9
SupremeEP, не в этом дела, я не понимаю что делает строчка, тем более, что там стоит std::.
0
SupremeEP
2 / 2 / 1
Регистрация: 01.12.2015
Сообщений: 27
09.12.2015, 12:48 #10
Ну это более известная форма функции min(), где в качестве аргументов две переменные. Возвращает min() самое меньшее из них.
C++
1
min = std::min(min, arr[i]);
То есть, если переменная min меньше arr[i], то она останется неизменной, а если нет, то станет arr[i].
Та же история с функцией max().
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2015, 12:48
Привет! Вот еще темы с ответами:

Домножить все члены заданной последовательности, на квадрат ее наименьшего (или наибольшего) члена - PascalABC.NET
Доброго времени суток. В универе нам задали задание &quot;даны действительные числа a1 ...., a26. Надо домножить все члены, этой...

Домножить все члены последовательности на квадрат ее наименьшего члена - Pascal ABC
Дана последовательность действительных чисел a1, a2, …, an. Требуется домножить все члены последовательности a1, a2, …, an. на квадрат ее...

Домножить все члены последовательности на квадрат ее наименьшего числа - Turbo Pascal
Даны действительные числа a1,a2,...,a30. Требуется домножить все члены последовательности а1,а2,...,а30 на квадрат ее наименьшего числа,...

Требуется домножить все члены последовательности на квадрат ее наименьшего члена - Pascal
Дана последовательность действительных чисел а1, а2,..., аn. Требуется домножить все члены последовательности а1, а2,..., аn, на...


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

Или воспользуйтесь поиском по форуму:
10
Yandex
Объявления
09.12.2015, 12:48
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru