С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 16.12.2016
Сообщений: 2
1

Преобразовать массив вставив после каждого отрицательного элемента нулевой элемент

16.12.2016, 19:53. Показов 1762. Ответов 3

Author24 — интернет-сервис помощи студентам
Создать класс, реализующий задачу (ввод-вывод из файла).Дан целочисленный массив.Преобразовать его,вставив после каждого отрицательного элемента нулевой элемент.
ПОМОГИТЕ НЕ МОГУ РЕШИТЬ.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2016, 19:53
Ответы с готовыми решениями:

Преобразовать массив вставив после каждого отрицательного элемента нулевой элемент
Дан массив размера N. Преобразовать его, вставив после каждого отрицательного элемента нулевой...

Преобразовать массив, вставив перед каждым отрицательным элементом нулевой элемент
Дан массив размера N. Преобразовать его, вставив перед каждым отрицательным элементом нулевой...

Добавить элемент c значением 10 в одномерный массив после каждого отрицательного элемента
Знаю, что подобных вопросов уже было много, однако там то используются указатели, то вектора. Мне...

Вставить в массив максимальный по модулю элемент после каждого отрицательного элемента с четным индексом
К ней я не могу написать код. Вот условие: Дан массив целых чисел размера n. Вставить в массив...

3
1355 / 854 / 365
Регистрация: 26.02.2015
Сообщений: 3,806
16.12.2016, 19:58 2
Петр11, попробуй использовать класс vector.

Добавлено через 15 секунд
http://www.cplusplus.com/reference/vector/vector/
http://www.cplusplus.com/refer... or/insert/
0
Модератор
Эксперт С++
13721 / 10918 / 6478
Регистрация: 18.12.2011
Сообщений: 29,147
16.12.2016, 20:04 3
Берем образец
Образцы (шаблоны) программ для типовых задач
Меняем функцию
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// пример обработки - вставить после каждого отрицательного элемента нулевой элемент
int Work(int* M,int n)
{
    int* work=new int[n*2]; // в 2 раза больше для вставляемых нулей
    int j=0;
    for(int i=0;i<n;i++)
    {
        work[j++]=M[i];
        if(M[i]<0)
            work[j++]=0;
    }
    for(int i=0;i<j;i++)
         M[i]=work[i];  // предполагаем, что M[i] тоже в 2 раза больше
    delete[] work;
     return j; // ВОЗВРАЩАЕМ НОВОЕ К-ВО ЭЛЕМЕНТОВ
}
И небольшие поправки в main
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//----------  main() -  точка входа в программу консольного приложения 
int main()
{
    //setlocale(LC_ALL,"Rus");
    int n;
    cout<<"Размер вектора?";
    cin>>n;
    int* A=new int[n*2];
    //Input(A,n);
    RandomFill(A,n);
    Print(A,n); 
    int k=Work(A,n);
    Print(A,k); 
    delete[] A;
    //system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 16.12.2016
Сообщений: 2
16.12.2016, 21:08  [ТС] 4
zss, это все решение?

Добавлено через 38 секунд
zss, а ввод-вывод из файла как осуществить?

Добавлено через 35 минут
zss,вот пример похожего задания.
Но как будет выглядеть решение с моим условием??

Создать класс, реализующий следующую задачу (ввод-вывод производить из файла). Дан целочисленный массив. Найти Максимальный отрицательный элемент.
Код :
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <iostream>
#include <ctime>
#include <stdlib.h>
#include <fstream>
 
using namespace std;
 
class massiv
{
private:
    int ar[10];
    int sum;
public:
    massiv();
    massiv(int n);
    massiv(char *name);
    void out();
    void out_1();
    void out(char *name);
    void res(char *name);
    void in(char *name);
    int n, i, b, j, min;
};
massiv::massiv(char *name) {
    ifstream f; f.open(name, ios::in);
    f >> sum;
    for (int i = 0; i<sum; i++)f >> ar[i];
    f.close();
}
void massiv::in(char *name) {
    ifstream f; f.open(name, ios::in);
    f >> sum;
    for (int i = 0; i<sum; i++)f >> ar[min];
    f.close();
}
void massiv::out(char *name) {
    ofstream f; f.open(name, ios::out);
    f << sum << endl;
    for (int i = 0; i<sum; i++)f << ar[i] << " ";
    f.close();
}
void massiv::res(char *name) {
    ofstream f; f.open(name, ios::out);
    f << ar[min] << endl;
    f.close();
}
massiv::massiv() {
    sum = 10; srand(time(null));
    for (int i = 0; i<sum; i++) ar[i] = rand() % 100 * (- 1);
}
void massiv::out() {
 
    cout << "массив ";
 
    for (int i = 0; i<sum; i++) cout << ar[i] << " ";
    cout << endl;
    cout << endl;
}
void massiv::out_1() {
    cout << endl;
    min = 0;
    n = 10;
    for (i = 0; i<n; i++)
    {
 
    }
    for (j = 1; j<n; j++)
 for (i = 0; i<n - j; i++)
 if (ar[i]>ar[i + 1])
 {
 b = ar[i];
 ar[i] = ar[i + 1];
 ar[i + 1] = b;
 }
    for (int j = 0; j < 10; j++)
 if (ar[min] > ar[j] && ar[j] > 0) min = j;
 
    cout << "максимальный отрицательный элемент массива = " << ar[min] << endl << endl;
    cout << "отчет был сохранен в файл";
    cout << endl << endl;
 
}
 
int main()
{
    setlocale(lc_all, "russian");
    massiv x("1.txt");
    x.out();
    x.out_1();
    x.out("2.txt");
    x.res("2.txt");
    system("pause >> null");
    return 0;}
Добавлено через 56 секунд
zss, ПОМОГИТЕ,ПРОШУ
ОЧЕНЬ ВАЖНА ЭТА РАБОТА

{deleted}
 Комментарий модератора 
П.5.9. Правил
0
16.12.2016, 21:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2016, 21:08
Помогаю со студенческими работами здесь

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

Массив: Преобразовать массив, вставив перед1|после2 каждого положительного3|отрицательного4 элемента нулевой элемент.
Дан массив размера N. Преобразовать его, вставив перед1|после2 каждо- го...

Преобразовать массив, вставив после каждого положительного элемента максимальный элемент
Решить,оформив решение в виде функций генерации,вывода и обработки массива. Дан массив, состоящий...

после каждого отрицательного элемента вставить нулевой элемент.
В типизированный файл, компонентами которого являются вещественные числа, после каждого...

Преобразовать массив, вставив перед каждым отрицательным элементом нулевой элемент
Дан массив размера N. Преобразовать его,вставив перед каждым отрицательным элементом нулевой...

В массиве после каждого отрицательного элемента, вставить элемент, равный модулю отрицательного элемента
Нужен код С#


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru