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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Vladok111
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 78
#1

В массиве нужно удалить каждый второй элемент и вывести сжатый массив - C++

19.12.2012, 20:18. Просмотров 2185. Ответов 4
Метки нет (Все метки)

в массиве нужно удалить каждый второй элемент и вывести уже сжатый массив
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include<conio.h>
#include<stdlib.h>
#define n 6
void main()
{
clrscr();
int mass[n];
int i;
printf("vvedite %i elem masiva\n",n);
 for ( i = 1; i <n; i++)
 scanf("%i",&mass[i]);
   for( i=2;i<n-1;i=i+2)
    mass[i] = mass[i+1];
      printf("%i \n",mass[i]);
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2012, 20:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В массиве нужно удалить каждый второй элемент и вывести сжатый массив (C++):

Задача Иосифа Флавия. Удалить каждый второй элемент из списка и в конце вывести на экран последний оставшийся элемент - C++
Создать циклический список, в котором находятся элементы от 1 до N. Нужно написать программу, которая удаляет каждый второй элемент из...

Удалить каждый второй элемент стека - C++
Заполнить стек значениями произвольно выбранного типа. Удалить каждый второй элемент стека. Есть стек,как удалять элементы? ...

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

Двусвязные списки, удалить каждый второй элемент - C++
Задание. Написать программу создания двусвязного замкнутого списка (указатель на следующий элемент в последнем узле списка должен...

Каждый второй элемент, в массиве заменить остатком от деления этого элемента на 10 - C++
Ввести одномерный массив из элементов. Каждый второй элемент, в массиве заменить остатком от деления этого элемента на 10. Массив...

Каждый второй элемент в массиве, чьё значение лежит в диапазоне [-3; 5], заменить единицей - C++
Ввести одномерный массив A из N элементов. Каждый второй элемент в массиве, чьё значение лежит в диапазоне заменить единицей. Массив...

4
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,918
19.12.2012, 20:23 #2
Цитата Сообщение от Vladok111 Посмотреть сообщение
for( i=2;i<n-1;i=i+2)
mass[i] = mass[i+1];
отчет в массиве начинается с нуля
следовательно здесь идет обращение не ко второму третьему элементу
а к третьему четвертому

Добавлено через 1 минуту
Цитата Сообщение от Vladok111 Посмотреть сообщение
mass[i] = mass[i+1];
printf("%i \n",mass[i]);
и вот это в скобки бы не мешало
0
Vladok111
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 78
19.12.2012, 20:26  [ТС] #3
Цитата Сообщение от ValeryS Посмотреть сообщение
отчет в массиве начинается с нуля
следовательно здесь идет обращение не ко второму третьему элементу
а к третьему четвертому
мне надо сжать,удалить ,к примеру 1,3,5 и тд в такой последовательности так что удаление начинаю с i=1

Добавлено через 2 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
отчет в массиве начинается с нуля
следовательно здесь идет обращение не ко второму третьему элементу
а к третьему четвертому

Добавлено через 1 минуту

и вот это в скобки бы не мешало
а мне выводит какие то цифры не понятно откуда взятые(
0
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
19.12.2012, 21:01 #4
Цитата Сообщение от Vladok111 Посмотреть сообщение
удаление начинаю с i=1
А нафига в цикле i = 2 написано?

Добавлено через 27 минут
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
34
35
36
37
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
#define n 6
 
int main()
{
    int mass[n];
    int i, j, m = n;
    
    printf("vvedite %d elem masiva\n",n);
    
    for(i = 0; i < n; ++i)
    {
        scanf("%d", &mass[i]);
    }
        
    for(i = 1; i < m; ++i)
    {
        for(j = i; j < n - 1; ++j)
        {
            mass[j] = mass[j + 1];
        }
        --m;
    }
    
    printf("\n");
    for(i = 0; i < m; ++i)
    {
        printf("%d ",mass[i]);
    }
    
    getch();
        
    return 0;
}
1
Vladok111
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 78
19.12.2012, 22:58  [ТС] #5
Цитата Сообщение от Schizorb Посмотреть сообщение
А нафига в цикле i = 2 написано?

Добавлено через 27 минут
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
34
35
36
37
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
#define n 6
 
int main()
{
    int mass[n];
    int i, j, m = n;
    
    printf("vvedite %d elem masiva\n",n);
    
    for(i = 0; i < n; ++i)
    {
        scanf("%d", &mass[i]);
    }
        
    for(i = 1; i < m; ++i)
    {
        for(j = i; j < n - 1; ++j)
        {
            mass[j] = mass[j + 1];
        }
        --m;
    }
    
    printf("\n");
    for(i = 0; i < m; ++i)
    {
        printf("%d ",mass[i]);
    }
    
    getch();
        
    return 0;
}
спасибо, проверил, работает)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2012, 22:58
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
19.12.2012, 22:58
Ответ Создать тему
Опции темы

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