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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
LaSkReN
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 33
#1

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

21.02.2013, 10:40. Просмотров 1206. Ответов 4
Метки нет (Все метки)

3. Дан массив из n элементов. Сожмите массив, выбросив каждый третий его элемент, без использования дополнительного массива. Выведите на экран исходный и измененный массивы.

Помогите кто сможет код на С++ составить меню для представления этих задач я уже сделал.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2013, 10:40     Сожмите массив, выбросив каждый третий его элемент, без использования дополнительного массива
Посмотрите здесь:

«Сожмите» массив, выбросив из него каждый второй элемент - C++
Дан целочисленный массив с количеством элементов п. «Сожмите» массив, выбросив из него каждый второй элемент. Примечание. Дополнительный...

Дан массив А(12). Каждый третий элемент массива заменить суммой двух предшествующих. - C++
1)Дан массив А(12). Каждый третий элемент массива заменить суммой двух предшествующих. Нужно написать в С++ , но не понимаю как...

Как найти медиану неотсортированного массива (без использования дополнительного массива) - C++
как найти медиану неотсортированного массива, при этом не используя дополнительных массивов и не сортируя его.

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

Работа с матрицами (с использованием/без использования дополнительного массива) - C++
Дан двумерный массив целых чисел. В каждом его столбце найти: а) сумму нечетных элементов; б) количество положительных элементов; в)...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
olya7
477 / 294 / 91
Регистрация: 18.02.2013
Сообщений: 684
21.02.2013, 20:59     Сожмите массив, выбросив каждый третий его элемент, без использования дополнительного массива #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
#include<iostream.h>
#include<math.h>
#include<iomanip.h>
int main() {
    int *a,i,k=0,p=1,c=0,b,n,min;
cout << "Vvedite kolichestvo"<< endl;
cin>>n;
a=new int [n];
 
cout << "Vvedite elementi"<< endl;
for (i=0;i<n;i++)
cin>>a[i];
int m=2;
 do{
for (i=m;i<n-1;i++)
a[i]=a[i+1];
m+=2;
c++;
 } while (m<=n);
n-=c-1;
 
for (i=0;i<n;i++)
cout<<a[i]; 
 
delete []a;
return 0;
}
mamucho666
1 / 1 / 0
Регистрация: 06.06.2012
Сообщений: 13
21.02.2013, 21:07     Сожмите массив, выбросив каждый третий его элемент, без использования дополнительного массива #3
Автор, очень прошу, поясните, что означает сжать массив? Я хоть и такой же новичок как и вы, но сомневаюсь, что во всей книге Липпмана C++ Primer могли не написать о такой возможности.

Или товарищи с форума, что поматёрей, объясните, пожалуйста.

Или под сжать массив подразумевалось банальное перемещение значений массива? Если так, то что-то вроде того. Не уверен, что нет каких-то недочётов, но идея правильная.

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
#include <iostream>
int main() 
{
    const int size(10);
    int slip(0);
    int m[size];
    for (int i(0);i!=size;++i)
    {
        m[i]=i;
        std::cout << m[i] << ", ";
    }
    std::cout << std::endl;
    for (int i(0);i!=size;++i)
    {
        m[i-slip]=m[i];
        if((i+1)%3==0) ++slip;
    }
    for (int i(0);i!=size-slip;++i)
    {
        std::cout << m[i] << ", ";
    }
    std::cout << std::endl;
    system("pause");
    return 0;
}
LaSkReN
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 33
22.02.2013, 13:07  [ТС]     Сожмите массив, выбросив каждый третий его элемент, без использования дополнительного массива #4
Спасибо =) Ну а сжать массив, обозначает просто сократить его при выводе второй раз на каждый третий элемент=)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2013, 13:53     Сожмите массив, выбросив каждый третий его элемент, без использования дополнительного массива
Еще ссылки по теме:

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

Сжать массив, выбросив из него каждый второй элемент.... - C++
написать программу чтоб было такое решение. В начале выдаёт от к примеру от 1 до 10 char a={1,2,3,4,5,6,7,8,9,10}; чтоб потом выдал...

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

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

Получить третий массив той же размерности, каждый элемент которого равен большему из соответствующих элементов данного массива - C++
Плиз, помогите решить задачу!!! Скоро сессия, не успеваю решить все задачи!!! Выручайте!!! Даны два целочисленных массива одинаковой...

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


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

Или воспользуйтесь поиском по форуму:
daslex
1271 / 516 / 106
Регистрация: 02.08.2011
Сообщений: 2,665
22.02.2013, 13:53     Сожмите массив, выбросив каждый третий его элемент, без использования дополнительного массива #5
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 <iostream>
 
 
void prnt(int Arr[],int N,int el=-1)  //Функция выводит массив на экран
{
    if (el<0) std::cout<<"ПОЛНЫЙ МАССИВ\n";
    else std::cout<<"НЕПОЛНЫЙ МАССИВ\n";
    
    for (int i=0;i<N;i++)
    {
        if ((el>0)&&(!((i+1)%el))) continue;
        else std::cout<<Arr[i]<<"\t";
    }
    std::cout<<"\n\n";
}
 
int main()
{
    int N=15;
    int A[15];
 
    for (int i=0;i<15;i++) A[i]=i+1; //Для наглядности заполнил по порядку (1,2,3...14)
 
    ////////////
    prnt(A,N); //Так выводишь полный
    prnt(A,N,3); //Так выводишь с каждым выкинутым третьим элементом
    prnt(A,N);
    
    system("PAUSE");
    return 0;
    
}
Yandex
Объявления
22.02.2013, 13:53     Сожмите массив, выбросив каждый третий его элемент, без использования дополнительного массива
Ответ Создать тему
Опции темы

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