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

Заменить все положительные элементы целочисленного массива размера 10 на значение минимального

31.01.2017, 14:02. Показов 2295. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Заменить все положительные элементы целочисленного массива размера 10 на значение минимального
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.01.2017, 14:02
Ответы с готовыми решениями:

Указатели: заменить все положительные элементы целочисленного массива размера 10 на значение минимального
Заменить все положительные элементы целочисленного массива размера 10 на значение минимального....

Заменить все положительные элементы целочисленного массива на значение минимального
Заменить все положительные элементы целочисленного массива размера 10 на значения минимального

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

Указатели: заменить все положительные элементы целочисленного массива на значение минимального
Заменить все положительные элементы целочисленного массива размера 10 на значение минимального....

13
Диссидент
Эксперт C
27704 / 17320 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
31.01.2017, 14:16 2
Юля1111, Какие-то свои попытки были? Скелет программы? Заполнение массива?
0
0 / 0 / 0
Регистрация: 21.01.2017
Сообщений: 13
31.01.2017, 14:24  [ТС] 3
Нет,не понимаю ничего в этом.
0
Диссидент
Эксперт C
27704 / 17320 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
31.01.2017, 14:48 4
Хочу наконец-то пояснить свою позицию. Почему я, видя такие задания, почти всегда задаю эти простые вопросы.Юля1111, это даже не так к вам лично относится, как ко всем вопрошающим, а так же к отвечающим и к модераторам тоже. А я положу этот топик в закладки и буду на него ссылку давать
Вот нужно работать с массивом. Для этого нужно, чтобы массив как-то образовался. Для этого есть несколько способов.
- Прописать его в коде.
- Заполнить случайными числами
- Ввести через scanf
- Задать в виде параметров командой строки (Мне больше всего нравится этот)
Кроме того есть еще подварианты - выделять память динамически или в стеке с запасом
И почти навярняка (80 процентов случаев) одному из этих способов ТС уже научен. Так зачем же я буду ему навязывать свой способ? У него и так голова кругом идет. А если я продемонстрирую свой любимый, так вообще глаза на лоб полезут.
Я уже не говорю о том, что #include в разных средах могут быть разными.
И чтобы эффективно помочь ТС, я прошу его ввести меня в курс дела. Как это у них положено, принято. Чтобы не учить его в данном случае ненужному. Чтобы нам с ним не разбираться, чего это я за фигню такую придумал. Чторбы мой ответ базировался на более-менее знакомых ему вещах.
Это в самом деле прописано в правилах п.4.7, но, как известно, правил никто не читает А если и читает, то видимо невдомек, что оно придумано не из вредности, а как раз чтобы помочь быстрее и эффективнее решить вашу задачу.
Dixi.

Добавлено через 2 минуты
Цитата Сообщение от Юля1111 Посмотреть сообщение
не понимаю ничего в этом.
Ну, значит, попали в остатнии 20 процентов. И я тут ничем помочь не могу.
0
"C with Classes"
1642 / 1399 / 523
Регистрация: 16.08.2014
Сообщений: 5,869
Записей в блоге: 1
31.01.2017, 15:16 5
Юля1111,
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 <iostream>
 
void ShowArrayInt10(int* a)
{
    for (int i = 0; i < 10; i++)
        std::cout << a[i] << ' ';
 
    std::cout << std::endl;
}
 
int main(int argc, char* argv[] )
{
    int arr[10];
 
    // заполнение массива целыми значениями от -100 до 100
    for (int i = 0; i < 10; i++)
        arr[i] = rand() % 201 + (-100);
 
    ShowArrayInt10(arr);
 
    // Поиск минимального значения
    int min = arr[0];
    for (int i = 1; i < 10; i++)
    {
        if (min > arr[i] )
            min = arr[i];
    }
    
    // замена положительного значения на минимальное
    for (int i = 1; i < 10; i++)
    {
        if (arr[i] > 0)
            arr[i] = min;
    }
 
    ShowArrayInt10(arr);
 
    getchar();
 
    return 0;
}
0
Тамика
31.01.2017, 15:17
  #6

Не по теме:

_stanislav, эх... Не хотят люди писать универсальный код :D

0
_stanislav
31.01.2017, 17:14
  #7

Не по теме:

Цитата Сообщение от Тамика Посмотреть сообщение
_stanislav, эх... Не хотят люди писать универсальный код
это про меня? как универсальным его сделать?

0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
31.01.2017, 17:35 8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <algorithm>
#include <array>
#include <iostream>
#include <iterator>
#include <random>
 
int main()
{
    std::array<int, 10> arr;
    std::mt19937 gen { std::random_device()() };
    std::uniform_int_distribution<> dist(-9, 9);
    std::generate(std::begin(arr), std::end(arr), [&dist, &gen] { return dist(gen); });
    std::copy(std::begin(arr), std::end(arr), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    std::replace_copy_if(std::begin(arr), std::end(arr), std::ostream_iterator<int>(std::cout, " "),
        [](const int x) { return x > 0; }, *std::min_element(std::begin(arr), std::end(arr)));
}
Добавлено через 2 минуты
Цитата Сообщение от _stanislav Посмотреть сообщение
это про меня? как универсальным его сделать?
Самое главное зло - полагаться, что magic number везде совпадёт.
0
"C with Classes"
1642 / 1399 / 523
Регистрация: 16.08.2014
Сообщений: 5,869
Записей в блоге: 1
31.01.2017, 17:38 9
Цитата Сообщение от MrGluck Посмотреть сообщение
Самое главное зло - полагаться, что magic number везде совпадёт.
был конкретный вопрос про массив размером 10 а не про какой нибудь массив размером не знаю. число одно задача небольшая, не критично.
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
31.01.2017, 17:42 10
Цитата Сообщение от _stanislav Посмотреть сообщение
был конкретный вопрос про массив размером 10 а не про какой нибудь массив размером не знаю.
Тогда хотя бы так:
C++
1
2
3
4
5
6
7
void ShowArrayInt10(const int a[10])
{
    for (int i = 0; i < 10; i++)
        std::cout << a[i] << ' ';
 
    std::cout << std::endl;
}
Это хотя бы даст ошибку компиляции.

Добавлено через 34 секунды
Размер массива является частью его сигнатуры.

Добавлено через 44 секунды
Но вообще, что мешало на ровном месте не городить ограничения, а сделать функцию универсальной для вывода массива любого типа?
0
"C with Classes"
1642 / 1399 / 523
Регистрация: 16.08.2014
Сообщений: 5,869
Записей в блоге: 1
31.01.2017, 17:47 11
Цитата Сообщение от MrGluck Посмотреть сообщение
ShowArrayInt10
название функции говорит что она делает и с каким массивом

Добавлено через 4 минуты
Цитата Сообщение от MrGluck Посмотреть сообщение
Но вообще, что мешало на ровном месте не городить ограничения, а сделать функцию универсальной для вывода массива любого типа?
мне один умный мужик сказал, чего не надо того не делай. заказчик не поймет, коллеги не оценят, а время уйдет.
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
31.01.2017, 17:54 12
Цитата Сообщение от _stanislav Посмотреть сообщение
а время уйдет.
Тут дело не во времени, 3 символа лишних набрать [10] вместо * это не так долго.

Добавлено через 1 минуту
Вы вправе писать для себя что угодно, но новичкам лучше не подавать плохой пример.
0
Модератор
Эксперт CЭксперт С++
5283 / 2370 / 342
Регистрация: 20.02.2013
Сообщений: 5,769
Записей в блоге: 20
31.01.2017, 18:15 13
Цитата Сообщение от MrGluck Посмотреть сообщение
сделать функцию универсальной для вывода массива любого типа
Вы хотите песен? Их есть у меня! (с)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
template <class T>
void show( const T & arr )
{
    for ( const auto & elem : arr )
        std::cout << elem << " ";
    std::cout << "\n";
}
 
int main()
{
    int arr[] { 1, 4, 8, 8, 2 };
    show( arr );
}
1
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
31.01.2017, 19:08 14
Юля1111, вот запрошенная вами программа:

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
#include <iostream>
#include <climits>
 
using namespace std;
 
int main()
{
    const int N = 10;
    int A[N], min;
    cout << "Введите массив A[10]:" << endl;
    min = INT_MAX;
    for (int i = 0; i < N; i++)
    {
        cin >> A[i];
        if (A[i] < min)
            min = A[i];
    }
    cout << "Искомый массив:" << endl;
    for (int i = 0; i < N; i++)
    {
        if (A[i] > 0)
            A[i] = min;
        cout << A[i] << " ";
    }
    cout << endl;
    system("pause");
    return 0;
}
0
31.01.2017, 19:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.01.2017, 19:08
Помогаю со студенческими работами здесь

Заменить все положительные элементы массива на значение минимального элемента
Заменить все положительные элементы целочисленного массива размера 10 на значение минимального,...

Заменить все отрицательные элементы массива на значение минимального элемента
1) Задан массив из 6 действительных чисел. Заменить все элементы с отрицательным значением на...

Заменить все элементы массива с отрицательным значением на значение минимального положительного элемента
Объявить массив целых чисел и заполнить его случайными значениями с помощью функций srand() и...

Заменить все отрицательные члены на значение минимального члена, а все положительные - на значение максимального члена
Здраствуйте. Большую часть программы я уже написал, но не знаю как далее быть, прошу вашей помощи....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru