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

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

Войти
Регистрация
Восстановить пароль
 
FantazerMasha
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 36
#1

10. В массиве Y, содержащем 14 элементов, заменить минимальный элемент нулем - C++

10.11.2016, 15:07. Просмотров 149. Ответов 5
Метки нет (Все метки)

В массиве Y, содержащем 14 элементов, заменить минимальный элемент нулем, а максимальный увеличить в десять раз.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2016, 15:07     10. В массиве Y, содержащем 14 элементов, заменить минимальный элемент нулем
Посмотрите здесь:

C++ Найти в массиве максимальный элемент и заменить все вышестоящие на минимальный из последней строки
В двумерном массиве заменить все четные элементы на минимальный элемент матрицы C++
В массиве заменить отрицательные элементы ниже главной диагонали на минимальный элемент строки C++
В массиве из 10 целых чисел заменить все элементы, стоящие на четных местах, на минимальный элемент C++
В массиве найти минимальный элемент и сумму элементов C++
C++ В массиве из 50 элементов определить количество элементов, кратных 6 и найти минимальный элемент
C++ Заменить минимальный элемент массива суммой элементов до первого нулевого
C++ В произвольно заданном одномерном массиве заменить первый отрицательный элемент нулем
В четных столбцах матрицы заменить минимальный элемент нулем C++
C++ Функция: рассчитать среднее арифметическое отрицательных элементов массиве, и заменить им минимальный элемент
C++ В массиве, содержащем n различных случайных целых чисел, определить максимальный и минимальный элементы
Заменить первый минимальный четный элемент в двумерном массиве C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6218 / 3463 / 423
Регистрация: 29.11.2010
Сообщений: 9,176
10.11.2016, 15:21     10. В массиве Y, содержащем 14 элементов, заменить минимальный элемент нулем #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <algorithm>
#include <array>
#include <iostream>
#include <iterator>
 
int main()
{
    std::array<int, 14> a;
    auto print_a = [&a]
    {
        std::copy(a.cbegin(), a.cend(), std::ostream_iterator<int>(std::cout, " "));
        std::cout << std::endl;
    };
    std::iota(a.begin(), a.end(), 1);
    print_a();
    auto p = std::minmax_element(a.begin(), a.end());
    *p.first = 0;
    *p.second *= 10;
    print_a();
}
FantazerMasha
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 36
10.11.2016, 15:42  [ТС]     10. В массиве Y, содержащем 14 элементов, заменить минимальный элемент нулем #3
а не могли бы вы написать самым-самым обычным способом? а то этого всего я ещё не понимаю(
Milleniium
0 / 0 / 0
Регистрация: 29.10.2016
Сообщений: 3
10.11.2016, 16:38     10. В массиве Y, содержащем 14 элементов, заменить минимальный элемент нулем #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
34
35
36
37
38
39
#include <iostream>
#include <ctime> //библиотека для рандома
using namespace std;
 
void main()
{
    srand(time(0));
    const int size = 14; //количество елементов
    int a[size]; 
    for (int i = 0; i < size; i++) //проходимся по каждому елементу масива
    {
        a[i] = rand()% 89 + 10; //каждый елемент рандомим
        cout << a[i] << " "; //выводим на екран
    }
    cout << endl;
    int min = 100, max = 0; //создаем 2 переменные для того, что бы узнать какое число будет максимальным и минильным
    //как правило минимальное число нужно поставить большим, а максимальное маленьким
    int imax = 0, imin = 0; // 2 переменные, что будут узнавать какой именно елемент максимальный в итоге получился, а какой минимальный
    for (int i = 0; i < size; i++) //проходимся по циклу елементов
    {
        if (a[i] > max) //если каждый елемент больше мах, то мах становиться етим елементом
        {
            max = a[i];
            imax = i;   //сохраняем номер позиции максимального елемента
        }   
        if (a[i] < min) //так же но для минимального
        {
            min = a[i];
            imin = i;   //так же для минимального
        }   
    }
    a[imax] *= 10; //меняем число на позиции максимального елемента на помноженное на 10
    a[imin] = 0; //для минимального делаем 0
    for (int i = 0; i < size; i++) //вывдоим измененный масив
    {
        cout << a[i] << " ";
    }
    cout << endl;
}
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6218 / 3463 / 423
Регистрация: 29.11.2010
Сообщений: 9,176
10.11.2016, 17:00     10. В массиве Y, содержащем 14 элементов, заменить минимальный элемент нулем #5
Цитата Сообщение от Milleniium Посмотреть сообщение
//библиотека для рандома
1. Это не библиотека, а заголовочный файл, который входит в стандартную библиотеку.
2. Заголовочный файл ctime содержит только функции для работы со временем и понятия не имеет ничего о "рандоме"
3. Сишный заголовочный файл для псведо генератора СЧ это cstdlib.
4. Плюсовый генератор СЧ расположен в заголовочном файле random
5. void main не соответствует стандарту, пишите int.
6. Слово "экран" пишется через э
7. Первую итерацию цикла можно пропустить
8. Не за чем дублировать информацию - поиск мин. и макс. элементов можно осуществлять, сравнивая элементы под индексом imin и imax. Переменные max и min лишние
9. Поиск можно осуществлять в том же цикле, что и вывод на экран (любой из)
Milleniium
0 / 0 / 0
Регистрация: 29.10.2016
Сообщений: 3
10.11.2016, 17:46     10. В массиве Y, содержащем 14 элементов, заменить минимальный элемент нулем #6
5. всегда писал void, мне не мешает
6. я не знаю русский язык, поэтому пишу, как получается
7. "Кода больше, но надеюсь будет понятнее"
8. "Кода больше, но надеюсь будет понятнее"
9. "Кода больше, но надеюсь будет понятнее"

Я попытался объяснить человеку на примере.
Yandex
Объявления
10.11.2016, 17:46     10. В массиве Y, содержащем 14 элементов, заменить минимальный элемент нулем
Ответ Создать тему
Опции темы

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