С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Shadow121
0 / 0 / 1
Регистрация: 22.05.2013
Сообщений: 42
1

В массиве вставить нуль после первого нечетного эл

25.09.2013, 18:03. Просмотров 488. Ответов 3
Метки нет (Все метки)

Дан массив целых чисел из n элементов. Вставить нуль после первого нечетного элемента и единицу перед последним четным элементом.Массив вводится с клавиатуры.
P.S. Напишите пожалуйста программу.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2013, 18:03
Ответы с готовыми решениями:

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

Заменить в массиве каждую группу из нечетного количества подряд идущих нулей на один нуль
Здравствуйте. Изучаю c++ меньше месяца, помогите решить следующую задачу:...

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

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

Проверить, что в массиве ни одно четное число не расположено после нечетного
2.Дан массив целых чисел. Если в нем ни одно четное число не расположено после...

3
newb_programmer
237 / 237 / 113
Регистрация: 03.09.2011
Сообщений: 558
26.09.2013, 00:51 2
Цитата Сообщение от Shadow121 Посмотреть сообщение
Дан массив целых чисел из n элементов. Вставить нуль после первого нечетного элемента и единицу перед последним четным элементом.Массив вводится с клавиатуры.
P.S. Напишите пожалуйста программу.
вот держите...массив из 12 элементов-что б вставить 2 новых, можно конечно динамически выделить память, но мне кажется и так норм=)
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
#include <iostream>
using namespace std;
const int s=12;
int main()
{
    int a[s];
    int i,j;
    cout<<"Default array:\n";
    for(i = 0; i < s-2; i++) {
       a[i]=rand()%50+10;
       cout<<a[i]<<" ";
    }
    cout<<"\n";
    for(i = 0; i < s; i++) {
        if (a[i]%2!=0){
            for(j=s-1; j > i; j--)
                a[j]=a[j-1];
            a[i+1]=0;
            break;
        }
    }
    for(i = s-1; i >0; i--) {
        if (a[i]%2==0){
            for(j=s; j >=i; j--)
                a[j]=a[j-1];
            a[i-1]=1;
            break;
        }
    }
    cout<<"Fixed array:\n";
    for(i = 0; i < s; i++) {
        cout<<a[i]<<" ";
    }
    cout<<"\n";
    system( "pause" );
}
1
Shadow121
0 / 0 / 1
Регистрация: 22.05.2013
Сообщений: 42
26.09.2013, 01:17  [ТС] 3
Цитата Сообщение от newb_programmer Посмотреть сообщение
вот держите...массив из 12 элементов-что б вставить 2 новых, можно конечно динамически выделить память, но мне кажется и так норм=)
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
#include <iostream>
using namespace std;
const int s=12;
int main()
{
    int a[s];
    int i,j;
    cout<<"Default array:\n";
    for(i = 0; i < s-2; i++) {
       a[i]=rand()%50+10;
       cout<<a[i]<<" ";
    }
    cout<<"\n";
    for(i = 0; i < s; i++) {
        if (a[i]%2!=0){
            for(j=s-1; j > i; j--)
                a[j]=a[j-1];
            a[i+1]=0;
            break;
        }
    }
    for(i = s-1; i >0; i--) {
        if (a[i]%2==0){
            for(j=s; j >=i; j--)
                a[j]=a[j-1];
            a[i-1]=1;
            break;
        }
    }
    cout<<"Fixed array:\n";
    for(i = 0; i < s; i++) {
        cout<<a[i]<<" ";
    }
    cout<<"\n";
    system( "pause" );
}
А можно динамически. Если не сложно
0
Genn55
378 / 225 / 108
Регистрация: 26.12.2012
Сообщений: 744
28.09.2013, 02:29 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
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
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <iomanip>
#include <windows.h>
 
void setRand(int[],int const);
void printArr(int[], int const);
void insert(int[], int[], int const);
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    srand(time(NULL));
    int N ;
    cout<<"  Введите размер массива "<<"\n";
    cin >>N;
    int *A = new int[N];
 
    setRand(A,N);
    cout<<"  Начальный массив "<<"\n\n";
    printArr(A, N);
 
    int *temp = new int[N];
    for(int i = 0; i < N; ++i)
        temp[i] = A[i];
 
    delete []A;
    N += 2;
    A = new int[N];
 
    insert(A, temp, N);
    cout<<"  Массив после вставки "<<"\n\n";
    printArr(A, N);
    cout << "\n";
    delete []A;
    delete []temp;
    return 0;
}
 
void setRand(int mas[],int const size)
{
 
    for(int i = 0; i < size; ++i)
        mas[i] = rand() % 100+1;
}
 
void printArr(int mas[], int const size)
{
    for(int i = 0; i < size; ++i)
        cout << setw(4) << mas[i];
   cout << "\n";
}
void insert(int mas[], int temp[], int const size)
{
    int index_i = 0;
    for(int i = 0; i < size; ++i)
    {
        mas[i] = temp[i];
 
        if(temp[i] & 1)
        {
            index_i = ++i;
            mas[index_i] = 0;
            break;
        }
    }
 
    int index_j = index_i + 1;
 
    for(int j = size - 1; j > index_i; --j)
    {
        mas[j] = temp[j - 2];
 
        if(!(temp[j - 2] % 2))
        {
            index_j = --j;
            mas[index_j] = 1;
            break;
        }
    }
 
    for(int i = index_i; i < index_j - 1; ++i)
        mas[i + 1] = temp[i];
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2013, 02:29

После каждого нечетного элемента массива вставить максимальный простой элемент этого же массива
ЗАДАЧА 1. В целочисленный массив X(n) после каждого нечетного элемента...

Вставить после каждого нечетного элемента массива максимальный простой элемент этого же массива
В целочисленный массив X(n) после каждого нечетного элемента вставить...

Вставить слово после первого слова строки
Нужно ввести строку и отдельно слово. Вставить слово после первого слова строки...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru