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

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

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

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

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

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

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

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

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

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
Привет! Вот еще темы с решениями:

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

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

Все элементы одномерного массива, стоящие на четных местах, заменить на противоположные
Всем доброго времени суток. Нужна помощь с заданиями. Сам не могу сделать,...

Вывести на экран элементы массива, стоящие на четных местах и вычислить их произведение
Помогите пожалуйста 1) Дано линейный массив действительных чисел. Вывести на...


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

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

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