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

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

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

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

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

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

Функция которая находит два крайних положительных числа и сортирует массив слева от левого элемента, и справа - C++
Функция которая находит два крайних положительных числа и сортирует массив слева от левого элемента, и справа - от правого. Функция...

Соседние элементы массива — те, которые слева и справа от данного элемента. То есть в последовательности 1 2 3 - C++
Что в коде неправильно? #include <iostream> using namespace std; int main() { int arr = { 2, 4, 8, 1, 5, 3 }; for...

Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив. - C++
Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный...

После каждого четного элемента массива вставить 2 элемента с тем же значением, полученный массив отсортировать - C++
после каждого четного элемента массива вставить 2 элемента с тем же значением.полученный масив отсортировать.очень хотелось бы с...

Зарисовать треугольники только справа и слева в окантовке - C++
Подскажите плиз как в этой программе сделать так, что бы треугольники были зарисованы только справа и слева в окконтовке! Заранее спасибо! ...

Заполнить числами матрицу слева от главной диагонали и справа побочной - C++
Нужно заполнить числами матрицу слева от главной диагонали и справа побочной, то есть, вот таким способом Не могу придумать алгоритм...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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;
}
1
Palov
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 13
27.12.2012, 22:34  [ТС] #3
Спасибо большое!
Скажите пожалуйста, а зачем здесь setlocale();? Разве местность не устанавливается по умолчанию текущая?
0
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
27.12.2012, 22:58 #4
Если его убрать, то тогда вместо русских букв будут иероглифы. Можно по английски без него писать, только по русски читать удобнее (хотя кому как)
0
Palov
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 13
27.12.2012, 23:51  [ТС] #5
Ясно, спасибо!
ViktorKozlov,
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2012, 23:51
Привет! Вот еще темы с ответами:

Вывод символа слева и его соответствующего кода ASCII справа - C++
Собственно вопрос как это сделать?

После каждого четного элемента массива вставить два элемента с тем же значением, после чего полученный массив отсортировать по убыванию - C++
Ребят, помогите с задачкой новичку. После каждого четного элемента массива вставить два элемента с тем же значением, после чего...

Вывести слова, которые читаются одинаково слева направо и справа налево - C++
Всем привет! Помогите написать программу, в которую вводишь строку слов, а она выводит слова, которые читаются одинаково слева направо и...

Работа с текстом, поиск слова, а также 3 слов слева и справа от него - C++
Дан файл, и ключевое слово, в тексте найти это слово, а так же 3 слова слева и 3 слова справа от ключевого Помогите с решением, я открыл...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.12.2012, 23:51
Ответ Создать тему
Опции темы

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