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

Функция меняет все отрицательные элементы массива на максимальный - C++

Восстановить пароль Регистрация
 
lleonov
-92 / 0 / 0
Регистрация: 22.01.2011
Сообщений: 33
08.03.2011, 16:41     Функция меняет все отрицательные элементы массива на максимальный #1
Написать функцию, которая принимает одномерный массив и его размерностью. Функция меняет в
массиве все элементы меньше ноля, на максимальное значения этого массива.

Добавлено через 41 минуту
ппц!ну помогите!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2011, 16:41     Функция меняет все отрицательные элементы массива на максимальный
Посмотрите здесь:

[C++]Все отрицательные элементы массива перенести в начало, а все остальные - в конец C++
Все отрицательные элементы массива уменьшить в двое, а все нулевые элементы заменить на... C++
C++ Массив: Сформировать третий массив, в который включить все отрицательные элементы массива А и все максимальные элементы массива В.
все отрицательные элементы заменить их квадратами и сортировать по убиванию сделать как функция C++
C++ Все отрицательные элементы заданного массива L (11) разделить на максимальный элемент этого массива. Вывести максимальный элемент, начальный и преобра
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
08.03.2011, 16:42     Функция меняет все отрицательные элементы массива на максимальный #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
void func(float* a, unsigned n)
{
    if (!n) return;
 
    float m = a[0];
 
    for (unsigned i = 0; i < n; i++)
        if (m < a[i]) m = a[i];
 
    for (unsigned i = 0; i < n; i++)
        if (a[i] < 0) a[i] = m;
}
lleonov
-92 / 0 / 0
Регистрация: 22.01.2011
Сообщений: 33
08.03.2011, 16:57  [ТС]     Функция меняет все отрицательные элементы массива на максимальный #3
спс конечно но я нечего не понял!Можеш плиз норм написать!
извени за наглость!просто я не ас!

Добавлено через 1 минуту
спс конечно но я нечего не понял!Можеш плиз норм написать!
извени за наглость!просто я не ас!
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
08.03.2011, 17:34     Функция меняет все отрицательные элементы массива на максимальный #4
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
#include <iostream>
 
void func(float* a, unsigned n)
{
    if (!n) return;
 
    float m = a[0];
 
    for (unsigned i = 0; i < n; i++)
        if (m < a[i]) m = a[i];
 
    for (unsigned i = 0; i < n; i++)
        if (a[i] < 0) a[i] = m;
}
 
int main()
{
    using namespace std;
    float a[5] = {2.0, -1.0, 3.0, -2.0, 4.0};
 
    for (int i = 0; i < 5; i++) cout << a[i] << " ";
    cout << endl;
 
    func(a, 5);
 
    for (int i = 0; i < 5; i++) cout << a[i] << " ";
    cout << endl;
 
    system("PAUSE");
    return 0;
}
Или комментарии нужны?
lleonov
-92 / 0 / 0
Регистрация: 22.01.2011
Сообщений: 33
08.03.2011, 18:05  [ТС]     Функция меняет все отрицательные элементы массива на максимальный #5
Цитата Сообщение от bigredcat Посмотреть сообщение
Или комментарии нужны?
Да пожалйста если не сложна!

Добавлено через 2 минуты
Цитата Сообщение от lleonov Посмотреть сообщение
Да пожалйста если не сложна!
а можна случайными числами!!!!!

Добавлено через 3 минуты
Цитата Сообщение от lleonov Посмотреть сообщение
Да пожалйста если не сложна!

Добавлено через 2 минуты


а можна случайными числами!!!!!
или пользователь там напиример 4 раза водил а он всё делал!

Добавлено через 16 минут
Цитата Сообщение от lleonov Посмотреть сообщение
Да пожалйста если не сложна!

Добавлено через 2 минуты


а можна случайными числами!!!!!

Добавлено через 3 минуты


или пользователь там напиример 4 раза водил а он всё делал!
Типа так!
ток не получается заменять


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
#include <iostream>
#include <Windows.h>
#include <time.h>
#include <math.h>
using namespace std;
void main()
{
    srand ((unsigned)time(0));
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    cout<<"Поиск минимального элемента в массиве\n";
    const int size=5;
    int array[size]={0};
    int min=0,max=0,i1=0;
    for (int i=0;i<size;i++)
    {
        cin>>array[i];
        min=array[0];
        for (int i=0;i<size;i++)
        {
            if (array [i]<=min)
            {
                min=array[i];
            }
            if (array [i]>=max)
            {
                max=array[i];
            }
        }
    }
                    cout<<"Минимальный элемент массива: "<<min<<endl;
                    cout<<"Максимальный элемент массива: "<<max<<endl;
}
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
08.03.2011, 18:08     Функция меняет все отрицательные элементы массива на максимальный #6
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
61
62
#include <iostream>
#include <time.h>
 
 
// Преобразование значений массива
// a - указатель на массив
// n - размер массива
void func(float* a, unsigned n)
{
    // Если в массиве 0 элементов, то ничего не делаем, сразу возврат.
    if (n == 0) return;
 
    // Для сохранения максимального значения элемента.
    // (Считаем, что первый элемент имеет наибольшее значение).
    float m = a[0];
 
    // Перебираем все элементы массива, если находим элемент со значением
    // большим, чем мы сохранили в m, то присваиваем m новое значение.
    for (unsigned i = 0; i < n; i++)
        if (m < a[i]) m = a[i];
    // Таим образом на выходе из цикла будем иметь
    // в m значение максимального элемента
 
    // Перебираем все элементы масива, если находим отрицательный,
    // то заменяем его максимальным значением.
    for (unsigned i = 0; i < n; i++)
        if (a[i] < 0) a[i] = m;
}
 
int main()
{
    using namespace std;
 
    // Верхнияя и нижняя граница диапазона сл. чисел.
    float range_min - -5.;
    float range_max = 5.;
 
    // Массивю
    float a[5];
 
    // Инициализация генератора сл. чисел.
    srand((unsigned)time(NULL));
    // Генерация сл. чисел в заданном диапазоне (результат сохраняем в элементы массива).
    for (int i = 0; i < n; i++)
    {
        a[i] = (float)rand() / (RAND_MAX + 1) * (range_max - range_min) + range_min;
    }
 
    // Вывод значений массива до преобразования
    for (int i = 0; i < 5; i++) cout << a[i] << " ";
    cout << endl;
 
    // Преобразование массива.
    func(a, 5);
 
    // Вывод значений массива после преобразования
    for (int i = 0; i < 5; i++) cout << a[i] << " ";
    cout << endl;
 
    system("PAUSE");
    return 0;
}
Добавлено через 2 минуты
Что то вы плавно начали дополнять и изменять задание
lleonov
-92 / 0 / 0
Регистрация: 22.01.2011
Сообщений: 33
08.03.2011, 18:09  [ТС]     Функция меняет все отрицательные элементы массива на максимальный #7
спасибо!А это както моно заменить а то мы ещё ето не изучали void func(float* a, unsigned n)!
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
08.03.2011, 18:16     Функция меняет все отрицательные элементы массива на максимальный #8
В предыдущем ошибки были, не проверял Здесь исправил. Функцию func убрал все в main
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
#include <iostream>
#include <time.h>
 
int main()
{
    using namespace std;
 
    // Верхнияя и нижняя граница диапазона сл. чисел.
    float range_max = 5.;
    float range_min = -5.;
 
    // Массивю
    float a[5];
 
    // Инициализация генератора сл. чисел.
    srand((unsigned)time(NULL));
    // Генерация сл. чисел.
    for (int i = 0; i < 5; i++)
    {
        a[i] = (float)rand() / (RAND_MAX + 1) * (range_max - range_min) + range_min;
    }
 
    // Вывод значений массива до преобразования
    for (int i = 0; i < 5; i++) cout << a[i] << " ";
    cout << endl;
 
    // ************* ПРЕОБРАЗОВАНИЕ МАССИВА: НАЧАЛО *******************
    // Для сохранения максимального значения элемента.
    // (Считаем, что первый элемент имеет наибольшее значение).
    float m = a[0];
 
    // Перебираем все элементы массива, если находим элемент со значением
    // большим, чем мы сохранили в m, то присваиваем m новое значение.
    for (unsigned i = 0; i < 5; i++)
        if (m < a[i]) m = a[i];
    // Таим образом на выходе из цикла будем иметь
    // в m значение максимального элемента
 
    // Перебираем все элементы масива, если находим отрицательный,
    // то заменяем его максимальным значением.
    for (unsigned i = 0; i < 5; i++)
        if (a[i] < 0) a[i] = m;
 
    // ************* ПРЕОБРАЗОВАНИЕ МАССИВА: КОНЦ *******************
 
    // Вывод значений массива после преобразования
    for (int i = 0; i < 5; i++) cout << a[i] << " ";
    cout << endl;
 
    system("PAUSE");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2011, 18:59     Функция меняет все отрицательные элементы массива на максимальный
Еще ссылки по теме:

Функция должна удалить из массива все отрицательные числ C++
C++ Для каждого из массивов все отрицательные элементы переместить в начало массива, а все положительные — в конец
C++ Функция удаляет из списка все отрицательные элементы

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

Или воспользуйтесь поиском по форуму:
lleonov
-92 / 0 / 0
Регистрация: 22.01.2011
Сообщений: 33
08.03.2011, 18:59  [ТС]     Функция меняет все отрицательные элементы массива на максимальный #9
http://fayloobmennik.net/448157
Чувак я те понимаю наверое надоел ппц как!
Ну можно так там ещё создать 2-ю строчку и там менять!
плиз!!

Добавлено через 13 минут
Цитата Сообщение от bigredcat Посмотреть сообщение
В предыдущем ошибки были, не проверял Здесь исправил. Функцию func убрал все в main
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
#include <iostream>
#include <time.h>
 
int main()
{
    using namespace std;
 
    // Верхнияя и нижняя граница диапазона сл. чисел.
    float range_max = 5.;
    float range_min = -5.;
 
    // Массивю
    float a[5];
 
    // Инициализация генератора сл. чисел.
    srand((unsigned)time(NULL));
    // Генерация сл. чисел.
    for (int i = 0; i < 5; i++)
    {
        a[i] = (float)rand() / (RAND_MAX + 1) * (range_max - range_min) + range_min;
    }
 
    // Вывод значений массива до преобразования
    for (int i = 0; i < 5; i++) cout << a[i] << " ";
    cout << endl;
 
    // ************* ПРЕОБРАЗОВАНИЕ МАССИВА: НАЧАЛО *******************
    // Для сохранения максимального значения элемента.
    // (Считаем, что первый элемент имеет наибольшее значение).
    float m = a[0];
 
    // Перебираем все элементы массива, если находим элемент со значением
    // большим, чем мы сохранили в m, то присваиваем m новое значение.
    for (unsigned i = 0; i < 5; i++)
        if (m < a[i]) m = a[i];
    // Таим образом на выходе из цикла будем иметь
    // в m значение максимального элемента
 
    // Перебираем все элементы масива, если находим отрицательный,
    // то заменяем его максимальным значением.
    for (unsigned i = 0; i < 5; i++)
        if (a[i] < 0) a[i] = m;
 
    // ************* ПРЕОБРАЗОВАНИЕ МАССИВА: КОНЦ *******************
 
    // Вывод значений массива после преобразования
    for (int i = 0; i < 5; i++) cout << a[i] << " ";
    cout << endl;
 
    system("PAUSE");
    return 0;
}
СПАСИБО ЗА ТЕРПЕНИЯ!!!СУПЕР ЭТО ОНО!!!!

Добавлено через 3 минуты
Можно вопрос?

Добавлено через 22 минуты
a[i] = (float)rand() / (RAND_MAX + 1) * (range_max - range_min) + range_min;
Вот это обьясни контретьней или как то подругому записать!А то мы так не изучали!
Yandex
Объявления
08.03.2011, 18:59     Функция меняет все отрицательные элементы массива на максимальный
Ответ Создать тему
Опции темы

Текущее время: 13:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru