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

Одномерный массив, выполнение двух условий

18.10.2015, 14:51. Показов 2157. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени уважаемые форумчане!
Подскажите как воплотить следующие условия в работу одномерного массива:
• минимальный элемент массива;
• преобразить массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом – все остальные.
П.с. набросок для отработки этих условий был найден тут же на просторах в шаблонах

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
63
64
65
66
67
#include <iostream>
#include <clocale>
#include <cstdlib>
using namespace std;
//----- объявление прототипов используемых функций----------------------------------------
void Input(int* M, int n);  // ввод массива
void Print(int* M, int n);   // вывод массива
//void RandomFill(int* M, int n);   // заполнение массива случайными числами
//--------------------------------------------------------------------------
//int Work(int* M, int n);   // пример обработки массива
 
 
//----------  main() -  точка входа в программу консольного приложения 
int main()
{
    setlocale(LC_ALL,"Rus");
    int n;
    cout << "Размер вектора?";
    cin >> n;
    int* A = new int[n];
    Input(A,n);
    //RandomFill(A, n);
    Print(A, n);
    //int s = Work(A, n);
    //cout << "Summa = " << s << endl;
    //delete[] A;
    system("pause");
    return 0;
}
//----   описание функций -----------------------------------------
// ввод массива
void Input(int* M, int n)
{
    for (int i = 0; i<n; i++)
    {
        cout << "M[" << i << "]=?";
        cin >> M[i];
    }
}
// заполнение случайными числами
void RandomFill(int* M, int n)
{
    for (int i = 0; i<n; i++)
    {
        M[i] = rand() % 100;
    }
}
// вывод массива
void Print(int* M, int n)
{
    for (int i = 0; i<n; i++)
    {
        cout << M[i] << " ";
    }
 
    cout << endl;
}
// пример обработки - подсчет суммы элементов
int Work(int* M, int n)
{
    int sum = 0;
    for (int i = 0; i<n; i++)
    {
        sum += M[i];
    }
    return sum;
}
П.с. некоторые строчки в виде рандомного заполнения и суммирования отключены/закомментированы специально дабы не отрабатывались
П.п.с. буду неимоверно признателен за любые подсказки
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.10.2015, 14:51
Ответы с готовыми решениями:

Сформировать одномерный массив на основе двух других массивов
Даны два массива: А, состоящий из N элементов и В, состоящий из N элементов. Сформировать массив C по следующему правилу Результат...

Создать одномерный массив, в котором находятся повторяющиеся элементы двух известных массивов
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #define max 100 main() { unsigned M1,M2,M3,i,j=0,n; printf(&quot;n=&quot;); scanf(&quot;%i&quot;,&amp;n); ...

Из двух упорядоченных одномерных массивов длины К и Н сформируйте одномерный массив размером К+Н упорядоченный так же как и исходный
Из двух упорядоченных одномерных массивов длины К и Н сформируйте однормерный массив размером К+Н упорядоченный так же как и исходный.

23
0 / 0 / 0
Регистрация: 28.01.2015
Сообщений: 35
09.11.2015, 15:38  [ТС]
Студворк — интернет-сервис помощи студентам
странно... у меня не работает... порядок вставки в тело "программы" принципиально?
или вы первый ворк убирали??
0
63 / 61 / 37
Регистрация: 01.04.2015
Сообщений: 116
09.11.2015, 15:39
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream>
#include <clocale>
#include <cstdlib>
#include <Windows.h>
using namespace std;
void Input(int* M, int n);  // ввод массива
void Print(int* M, int n);   // вывод массива
int Work(int* M, int n);   // пример обработки массива
void Work_2(int* M, int n);
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int n;
    cout << "Размер одномерного массива?";
    cin >> n;
    int* A = new int[n];
    Input(A,n);
    Print(A, n);
    int s = Work(A, n);
    cout << "Минимальный элемент = " << s << endl;
    Work_2(A, n);
    Print(A, n);
    delete[] A;
    system("pause");
    return 0;
}
 
void Input(int* M, int n)
{
    for (int i = 0; i<n; i++)
    {
        cout << "M[" << i << "]=?";
        cin >> M[i];
    }
}
 
void Print(int* M, int n)
{
    for(int i = 0; i < n; i++)
    {
        cout << M[i] << " ";
    }
    cout << endl;
}
 
int Work(int* M, int n)
{
    int min = M[0];  // первый элемент берется как минимальный
    for(int i = 1; i < n; i++)
    {
        if(M[i] < min)
        {
            min = M[i];
        }
    }
    return min;
}
 
void Work_2(int* M, int n)
{
    int index = 0;
    int tmpValue = M[index];
    while((index < n) && (M[index] == 0))
        ++index;
    for(int i = index+1; i < n; ++i)
    {
        if(M[i] == 0)
        {
            tmpValue = M[index];
            M[index] = M[i];
            M[i] = tmpValue;
            ++index;
        }
    }
}
0
0 / 0 / 0
Регистрация: 28.01.2015
Сообщений: 35
09.11.2015, 15:43  [ТС]
огромное!!!)
даже не знаю как отблагодарить)
если хочешь кинь в личку свой номер хоть баланс пополню немного)
п.с. у меня было через Ж
сначала ввод потом ворк 1 ворк 2 потом принт и не работало
0
63 / 61 / 37
Регистрация: 01.04.2015
Сообщений: 116
09.11.2015, 16:19
И спасибо хватит
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.11.2015, 16:19

Матрица и одномерный массив (Составить одномерный массив, содержащий количество буквенных символов в каждом из ее столбцов, подсчет символов)
Помогите решить задачку: Дана матрица 5х7, элементами которой являются значения символьного типа. Составить одномерный массив, содержащий...

Найти максимум из двух чисел не используя условий
Надо найти максимум из двух чисел не используя функций,условия,max(). Математическим способом. И еще при вычислениях нельзя использовать...

Условие выполнения опреции при наличии более двух условий
Подскажите пожалуйста! Есть значение (допустим Х) которое должно быть равно или меньше значения (допустим Y) и выполнять заданное действие...

Выполнение двух условий
Здравствуйте! Подскажите, как на С#реализовать проверку на 2 условия одновременно т.е, например, х&gt;5 и x&lt;10?

Выполнение сразу двух условий
Задача такая: летит частица, попадает сначала в крышку, потом в в сцинтиллятор. Меня интересует выделенная энергия частиц в сцинтилляторе в...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru