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

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

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

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

Помогите кто сможет код на С++ составить меню для представления этих задач я уже сделал.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.02.2013, 10:40
Ответы с готовыми решениями:

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

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

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

4
505 / 317 / 236
Регистрация: 18.02.2013
Сообщений: 754
21.02.2013, 20:59
ошибочка вышла, не дочитала до конца задание
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
Автор, очень прошу, поясните, что означает сжать массив? Я хоть и такой же новичок как и вы, но сомневаюсь, что во всей книге Липпмана 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  [ТС]
Спасибо =) Ну а сжать массив, обозначает просто сократить его при выводе второй раз на каждый третий элемент=)
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
22.02.2013, 13:53
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.02.2013, 13:53
Помогаю со студенческими работами здесь

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

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

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

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

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


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

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

Новые блоги и статьи
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Полностью асинхронный счётчик на логике (сумматорах) трёх состояний и асинхронных регистрах трёх состояний. Структура "электронный Buttom Up"
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
Реализация конвейеров машинного обучения с Python и Scikit-learn
AI_Generated 23.04.2025
Мир данных вокруг нас растёт с каждым днём, и умение эффективно обрабатывать информацию стало необходимым навыком. Специалисты по машинному обучению ежедневно сталкиваются с задачами предобработки. . .
Контроллеры Kubernetes Ingress: Сравнительный анализ
Mr. Docker 23.04.2025
В Kubernetes управление входящим трафиком представляет собой одну из ключевых задач при построении масштабируемых и отказоустойчивых приложений. Ingress — это API-объект, который служит вратами. . .
Оптимизация кода Python с Cython и Numba
py-thonny 23.04.2025
Python прочно обосновался в топе языков программирования благодаря своей простоте и гибкости. Разработчики любят его за читабельность кода и богатую экосистему библиотек. Но у этой медали есть и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru