0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 33
1

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

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

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

Помогите кто сможет код на С++ составить меню для представления этих задач я уже сделал.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2013, 10:40
Ответы с готовыми решениями:

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

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

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

Переставить элементы заданного массива в обратном порядке без использования дополнительного массива
Напишите программу, которая переставляет элементы массива в обратном порядке без использования...

4
505 / 317 / 236
Регистрация: 18.02.2013
Сообщений: 754
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;
}
1
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;
}
1
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 33
22.02.2013, 13:07  [ТС] 4
Спасибо =) Ну а сжать массив, обозначает просто сократить его при выводе второй раз на каждый третий элемент=)
0
1369 / 592 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
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;
    
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2013, 13:53
Помогаю со студенческими работами здесь

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru