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

Сжать массив, выбросив из него каждый второй элемент - C++

Восстановить пароль Регистрация
 
катенька777
 Аватар для катенька777
1 / 1 / 0
Регистрация: 01.04.2011
Сообщений: 18
06.04.2011, 13:09     Сжать массив, выбросив из него каждый второй элемент #1
Дан целочисленный массив с количеством элементов n. Сжать массив, выбросив из него каждый второй элемент. дополнительный массив не использовать.

Добавлено через 14 минут
!!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2011, 13:09     Сжать массив, выбросив из него каждый второй элемент
Посмотрите здесь:

Сжать массив, выбросив из него каждый второй элемент.... C++
C++ Сжать массив, выбросив из него каждый второй элемент
C++ Массивы. Задан массив,содержащий несколько нулевых элементов. Сжать его выбросив эти элементы.
C++ «Сожмите» массив, выбросив из него каждый второй элемент
Сожмите массив, выбросив каждый третий его элемент, без использования дополнительного массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fafle
 Аватар для Fafle
34 / 34 / 4
Регистрация: 19.03.2010
Сообщений: 136
06.04.2011, 13:14     Сжать массив, выбросив из него каждый второй элемент #2
Так чтоли?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main(){
    const int size=11;
    int ar[size];
    for(int i=0;i<size;i++){
        ar[i]=i*2;
        cout<<ar[i]<<" ";
    }
    cout<<endl;
 
for(int i=0;i<size;i++){
        cout<<ar[i]<<" ";
        i++;
    }
}
катенька777
 Аватар для катенька777
1 / 1 / 0
Регистрация: 01.04.2011
Сообщений: 18
06.04.2011, 13:15  [ТС]     Сжать массив, выбросив из него каждый второй элемент #3
Цитата Сообщение от Fafle Посмотреть сообщение
Так чтоли?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main(){
    const int size=11;
    int ar[size];
    for(int i=0;i<size;i++){
        ar[i]=i*2;
        cout<<ar[i]<<" ";
    }
    cout<<endl;
 
for(int i=0;i<size;i++){
        cout<<ar[i]<<" ";
        i++;
    }
}
А можно коминтарии к программе а тоя не совсем поняла.
Fafle
 Аватар для Fafle
34 / 34 / 4
Регистрация: 19.03.2010
Сообщений: 136
06.04.2011, 13:18     Сжать массив, выбросив из него каждый второй элемент #4
Ну по факту прога просто выводит на экран элементы через один, еще как вариант сместить все элементы с нечетных мест на четные и остальное заменить нулями, хотя толку...
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
06.04.2011, 15:57     Сжать массив, выбросив из него каждый второй элемент #5
с изменением массива
C++
1
2
3
4
5
6
7
8
#include<iostream>
#include<iterator>
#include<algorithm>
 
int main(){
    int mas[]={1,2,3,4,5,6,7,-8,-9,0,-1};
    std::copy(mas, std::remove_if(mas, mas+sizeof(mas)/sizeof(*mas), [&](int& val){return (&val-mas)%2;}), std::ostream_iterator<int>(std::cout, " "));
}
Yandex
Объявления
06.04.2011, 15:57     Сжать массив, выбросив из него каждый второй элемент
Ответ Создать тему
Опции темы

Текущее время: 19:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru