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

Массивы. Задан массив,содержащий несколько нулевых элементов. Сжать его выбросив эти элементы.

25.11.2012, 12:23. Просмотров 2735. Ответов 2
Метки нет (Все метки)


Задан массив,содержащий несколько нулевых элементов. Сжать его выбросив эти элементы.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2012, 12:23
Ответы с готовыми решениями:

Задан массив, содержащий N элементов. Упорядочить его элементы в порядке возрастания.
Буду очень признателен, если поможете безрукому... 6. Задан массив, содержащий N элементов....

Сжать массив, выбросив нулевые элементы
Добрый день, уважаемые мастера, прошу помочь решить две задачи. 1) Составить программу решения...

Сжать массив, выбросив из него отрицательные элементы - массив становится пустым
Задачка такая: Разработать программу, обеспечивающую ввод с клавиатуры целых чисел и сохранение их...

Задан массив целый чисел. Вывести на экран номера его нулевых элементов
Задан массив целый чисел. Вывести на экран номера его нулевых элементов

2
2226 / 1729 / 865
Регистрация: 21.12.2010
Сообщений: 3,073
Записей в блоге: 11
25.11.2012, 12:51 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
#include <iostream>
#include <iomanip>
 
template<typename ForwardIterator>
ForwardIterator RemoveZeroes(ForwardIterator ib, ForwardIterator ie)
{
    for(ForwardIterator im = ib; im != ie; ++im)
    {
        if(*ib = *im)
            ++ib;
    }
    return ib;
}
 
int main()
{
    int arr[] = {0,22,0,56,0};
    int* pe = RemoveZeroes(arr, std::end(arr));
    for(int* pb = arr; pb != pe; ++pb)
    {
        std::cout << std::setw(5) << std::left << *pb;
    }
}
0
Пес войны
111 / 88 / 22
Регистрация: 23.02.2012
Сообщений: 653
25.11.2012, 13:33 3
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
#include <iostream>
using namespace std;
int main()
{
    int *first,*second,size,count=0;
    cout<<"size=";
    cin>>size;
    first=new int[size];
    cout<<"elementi massiva"<<endl;
    for(int i=0; i<size; i++)
    {
        cin>>first[i];
        if(first[i]==0) {count++;}
    }
    for(int i=0; i<size; i++) //исходный
    {
        cout<<first[i];
    }
    cout<<endl;
    second=new int[size-count];
    for(int i=0,j=0; i<size && j<size-count; i++,j++)
    {
        if(first[i]==0) {j--; continue;}
        else second[j]=first[i];
    }
    for(int i=0; i<size-count; i++)//конечный
    {
        cout<<second[i];
    }
    getchar();
    getchar();
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2012, 13:33

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Сжать массив, удалив из него все элементы модуль которых не превышает 1. Заполнить эти элементы нулями
Во время перестановки, когда первый 0 достигает конца массива, выскакивает ошибка и прога...

Сжать массив отбрасыванием нулевых элементов
помогите пожалуйста создать динамический массив и Сжать заданный массив b1, b2,...,bm отбрасыванием...

Сжать массив путем вычеркивания нулевых элементов
Имеется целочисленный массив из n элементов,сжать массив путем вычеркивания нулывех элементов, если...

Сжать массив, выбросив из него каждый второй элемент
Дан целочисленный массив с количеством элементов n. Сжать массив, выбросив из него каждый второй...


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

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

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