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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Vladok111
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 78
19.12.2012, 20:18     В массиве нужно удалить каждый второй элемент и вывести сжатый массив #1
в массиве нужно удалить каждый второй элемент и вывести уже сжатый массив
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();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6378 / 4844 / 442
Регистрация: 14.02.2011
Сообщений: 16,066
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]);
и вот это в скобки бы не мешало
Vladok111
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 78
19.12.2012, 20:26  [ТС]     В массиве нужно удалить каждый второй элемент и вывести сжатый массив #3
Цитата Сообщение от ValeryS Посмотреть сообщение
отчет в массиве начинается с нуля
следовательно здесь идет обращение не ко второму третьему элементу
а к третьему четвертому
мне надо сжать,удалить ,к примеру 1,3,5 и тд в такой последовательности так что удаление начинаю с i=1

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

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

и вот это в скобки бы не мешало
а мне выводит какие то цифры не понятно откуда взятые(
Schizorb
 Аватар для Schizorb
508 / 460 / 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;
}
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;
}
спасибо, проверил, работает)
Yandex
Объявления
19.12.2012, 22:58     В массиве нужно удалить каждый второй элемент и вывести сжатый массив
Ответ Создать тему
Опции темы

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