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

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

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

Требуется вставить в массив слева и справа от искомого элемента - C++

27.12.2012, 21:27. Просмотров 361. Ответов 4
Метки нет (Все метки)

Доброго времени суток! Дали довольно интересную задачу, решение которой пока сообразить не могу.
Дан массив целых чисел размерности n. Каждый элемент, равный введенному с клавиатуры числу k, оградить с двух сторон нулями. Например: k=3, (1,3,6,7,3,3) => (1,0,3,0,6,7,0,3,0,0,3,0). Из полученного массива удалить первый нечетный элемент, стоящий между двумя четными.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2012, 21:27     Требуется вставить в массив слева и справа от искомого элемента
Посмотрите здесь:
Функция которая находит два крайних положительных числа и сортирует массив слева от левого элемента, и справа C++
C++ Соседние элементы массива — те, которые слева и справа от данного элемента. То есть в последовательности 1 2 3
C++ Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив.
После каждого четного элемента массива вставить 2 элемента с тем же значением, полученный массив отсортировать C++
C++ Зарисовать треугольники только справа и слева в окантовке
C++ Вывод символа слева и его соответствующего кода ASCII справа
C++ Заполнить числами матрицу слева от главной диагонали и справа побочной
Создать динамический дек и в нем произвести добавление элементов справа и слева C++
Отсортировать по убыванию элементы массива слева от случайного числа, и справа - по возрастанию. C++
C++ Вывести слова, которые читаются одинаково слева направо и справа налево
Данное четырехзначное число читается одинаково слева направо и справа налево C++
C++ Работа с текстом, поиск слова, а также 3 слов слева и справа от него

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
27.12.2012, 22:22     Требуется вставить в массив слева и справа от искомого элемента #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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"rus");
    const int size=6;
    int mas[size]={1,3,6,7,3,3};
    int ResultMas[200];
    int IndexMas[200];
    int k;
    int count=0;
 
    for (int i=0;i<size;i++)
        ResultMas[i]=mas[i];
 
    cout<<"Введите k:";
    cin>>k;
 
    for (int i=0;i<size;i++)
        if (ResultMas[i]==k)
        {
            IndexMas[count]=i;
            count++;
        }
 
    int SizeMas=size;
    int index;
    for (int i=0;i<count;i++)
    {
        index =IndexMas[i];
        for (int j=SizeMas-1;j>=index;j--)
            ResultMas[j+1]=ResultMas[j];
        ResultMas[index]=0;
        SizeMas++;
        for (int j=SizeMas-1;j>=index+2;j--)
            ResultMas[j+1]=ResultMas[j];
        ResultMas[index+2]=0;
        SizeMas++;
        for (int j=i+1;j<count;j++)
            IndexMas[j]+=2;
    }
    cout<<"Результат: "<<endl;
    for (int i=0;i<SizeMas;i++)
        cout<<ResultMas[i];
    cout<<endl<<"Удаление первого нечетного элемента, стоящего между двумя четными:"<<endl;
    for (int i=1;i<SizeMas;i++)
        if (ResultMas[i]%2==1 && ResultMas[i-1]%2==0 && ResultMas[i+1]%2==0)
        {
            for (int j=i;j<SizeMas;j++)
                ResultMas[j]=ResultMas[j+1];
            SizeMas--;
            break;
        }
 
    for (int i=0;i<SizeMas;i++)
            cout<<ResultMas[i];
    cout<<endl;
    return 0;
}
Palov
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 13
27.12.2012, 22:34  [ТС]     Требуется вставить в массив слева и справа от искомого элемента #3
Спасибо большое!
Скажите пожалуйста, а зачем здесь setlocale();? Разве местность не устанавливается по умолчанию текущая?
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
27.12.2012, 22:58     Требуется вставить в массив слева и справа от искомого элемента #4
Если его убрать, то тогда вместо русских букв будут иероглифы. Можно по английски без него писать, только по русски читать удобнее (хотя кому как)
Palov
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 13
27.12.2012, 23:51  [ТС]     Требуется вставить в массив слева и справа от искомого элемента #5
Ясно, спасибо!
ViktorKozlov,
Yandex
Объявления
27.12.2012, 23:51     Требуется вставить в массив слева и справа от искомого элемента
Ответ Создать тему
Опции темы

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