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

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

14.01.2014, 15:03. Просмотров 665. Ответов 2
Метки нет (Все метки)

Из одномерного массива,состоящего из n целочисленных элементов, удалить отрицательные элементы, стоящие на четных местах. Сжать массив.Оставшиеся после удаления места заполнить нулями
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2014, 15:03
Ответы с готовыми решениями:

Массивы. Заменить все отрицательные элементы, стоящие на четных местах, максимальным его элементом, а на нечетных местах - минимальным
В заданном массиве В, который содержит 21 элемент, заменить все отрицательные...

Сортировка массива: отдельно элементы, стоящие на четных местах и элементы, стоящие на нечетных местах
здравствуйте! задание: В одномерном массиве, состоящем из п целых элементов....

Все элементы исходного массива, стоящие на нечетных местах, возвести в квадрат, на четных местах – в куб
как будет код не знаете? Дано два массива байтов, один заполнен числами....

Упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) ...

Вывести элементы массива, стоящие на четных местах, затем — на нечетных
Дан массив. Вывести на экран сначала его элементы, стоящие на четных местах,...

2
MicM
824 / 483 / 324
Регистрация: 29.12.2009
Сообщений: 1,106
Завершенные тесты: 1
14.01.2014, 16:01 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
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <iomanip>
 
const int n = 10;
 
int main()
{
    int mas[n];
    srand (time(0));
    for (int i=0; i<n; i++)
    {
        mas[i]=rand()%20-9;
        std::cout <<std::setw(3) <<mas[i];
    }
    std::cout <<std::endl;
    int k = 0;
    for (int i=0; i<n-k; i++)
    {
        if (mas[i]<0 && (i+k)%2==0)
        {
            if (i==n-k-1)
                mas[n-k-1] = 0;
            else
            {
                for (int j=i; j<n-k-1; j++)
                    mas[j] = mas[j+1];
                mas[n-k-1] = 0;
                ++k;
            }
        }
    }
    for (int i=0; i<n; i++)
        std::cout <<std::setw(3) <<mas[i];
    std::cout <<std::endl;
    return 0;
}
0
cooller
565 / 533 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
14.01.2014, 17:10 3
Дмитрий123321,
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
#include "stdafx.h"
#include<iostream>
#include<vector>
#include<algorithm>
#include <iterator>
 
 
int _tmain(int argc, char* argv [])
{
    setlocale(LC_ALL, "Russian");
    int vectorSize;
    std::cout << "Size = ";
    std::cin >> vectorSize;
    std::vector<int> vec(vectorSize);
    
    for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); it++)
        std::cin>> *it;
    
    std::vector<int>::iterator new_end;
    int index(0);
    new_end = std::remove_if(std::begin(vec), std::end(vec), [&index](int number) {return ((index++ + 1) % 2 == 0) && number < 0; });
    for (std::vector<int>::iterator it = new_end; it != vec.end(); it++)
        *it = 0;
    std::cout << std::endl;
    for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); it++)
        std::cout << " " << *it;
 
    std::cin.get();
    std::cin.ignore();
    
    
    return 0;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2014, 17:10

Вывести все четные элементы массива стоящие на не четных местах
Вводится массив из 10 элементов. Вывести все четные элементы массива стоящие на...

Элементы, стоящие на четных местах массива, заменить введенным числом
Здравствуйте, почему-то не срабатывает заменить введенным числом элементы,...

Вывести на экран элементы массива, стоящие на четных местах и вычислить их произведение
int N,p = 1; std::cout &lt;&lt; &quot;Input N:&quot;; std:: cin &gt;&gt; N; int * mas...


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

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

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