Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/47: Рейтинг темы: голосов - 47, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 14

Удалить все нечетные элементы массива

29.10.2013, 18:56. Показов 9546. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Очень прошу проверьте на явность ошибок и на компиляторе задание: "Удалить все нечетные элементы". Правильно ли?

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.h>
#include <conio.h>
#include <string>
#include <stdlib.h>
#include <algorithm>
 
void main()
{
int i,n,x, a[100],b[100];
int length=0;
n=3;
for (i=0; i<n; i++)
{
cin>>a[i];
}
for (i=0; i<n; i++)
{
cin>>b[i];
}
for (i=0; i<n; i++)
{
if (a[i]%2!=0!=b[i]%2!=0) 
{
getch();
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.10.2013, 18:56
Ответы с готовыми решениями:

Удалить из массива все нечетные элементы
Динамическая память. Одномерный массив. Дан массив целых чисел. Удалите из массива все нечетные элементы.

Удалить все нечетные элементы одномерного массива
1) Удалить все нечетные элементы.

Найти максимальный элемент массива, и удалить после него все нечетные элементы
В массиве A(n) определить максимальный элемент .удалить после максимального все нечетные элементы

14
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
29.10.2013, 18:58
int length=0;
Смысл в этом? Вместо всех n ты должен подставлять length.
0
8 / 8 / 2
Регистрация: 26.10.2013
Сообщений: 55
29.10.2013, 19:00
Простите конечно, но как вы с циклом по i от 0 до 3 будете обрабатывать массивы из 100 элементов? Дайте, пожалуйста, полное условие задачи

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


Да и библиотечек многовато лишних. Был бы преподавателем - не принял бы=)
0
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 14
29.10.2013, 19:08  [ТС]
такое и есть задание "Удалить все нечетные элементы"
0
8 / 8 / 2
Регистрация: 26.10.2013
Сообщений: 55
29.10.2013, 19:13
Цитата Сообщение от Софико Посмотреть сообщение
такое и есть задание "Удалить все нечетные элементы"
Удалить все нечетные элементы из 2-х массивов? В Вашей программе отсутствует удаление в принципе.
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
29.10.2013, 20:03
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 <iostream>
#include <stdio.h>
#include <conio.h>
 
using namespace std;
 
int main()
{
    int i, length, blen=0,  a[100], b[100];
    setlocale(0,"");
 
    cout << "Введите размер массива" << endl;
    cin >> length;  //ввод длины массива
 
    cout << "Введите массив" << endl;
    for (i=0; i<length; i++)
        cin>>a[i];      // ввод массива
 
    for (i=0; i < length; i++)
        if (a[i]%2!=0)
        {
            b[blen]=a[i];
            blen++;
        }
    cout << "a[i]= ";
    for (i=0; i<length; i++)
        cout << a[i] << " ";
 
    cout << endl;
 
    cout << "b[i]= ";
    for (i=0; i<blen; i++)
        cout << b[i]<< " ";
            
    _getch();
    return 0;
}
Это без защиты программа.

Добавлено через 13 минут
А это с минимальной защитой:
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
38
39
40
41
42
43
44
#include <iostream>
#include <stdio.h>
#include <conio.h>
 
using namespace std;
 
int main()
{
    int i=0, length, blen=0,  a[100], b[100];
    setlocale(0,"");
 
    cout << "Введите размер массива" << endl;
    cin >> length;  //ввод длины массива
    
    if(100<=length)
    {
        cout << "Пересмотри свою ориентацию" << endl;
        return -1;
    }
    else
    {
        cout << "Введите массив" << endl;
        for (i=0; i<length; i++)
            cin>>a[i];      // ввод массива
 
        for (i=0; i < length; i++)
            if (a[i]%2!=0)
            {
                b[blen]=a[i];
                blen++;
            }
        cout << "a[i]= ";
        for (i=0; i<length; i++)
            cout << a[i] << " ";
 
        cout << endl;
 
        cout << "b[i]= ";
        for (i=0; i<blen; i++)
            cout << b[i]<< " ";
    }   
    _getch();
    return 0;
}
1
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 787
29.10.2013, 21:30
Вот скрин.Правильно работает?
Миниатюры
Удалить все нечетные элементы массива  
0
261 / 236 / 161
Регистрация: 10.12.2011
Сообщений: 513
29.10.2013, 21:33
Работает правильно. Но если списано по примеру выше, то не правильно
Там не удаление элементов, а переписывание их в другой массив ...
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 787
29.10.2013, 21:41
Цитата Сообщение от Leshak Посмотреть сообщение
Там не удаление элементов, а переписывание их в другой массив ...
Именно это я и имел ввиду,что здесь переписываются элементы,а не удаляется.
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
30.10.2013, 12:24
Цитата Сообщение от Leshak Посмотреть сообщение
Работает правильно. Но если списано по примеру выше, то не правильно
Там не удаление элементов, а переписывание их в другой массив ...
А как ты себе представляешь удаление? Судя по условию,требуется реализовать статический массив. Удаление как таковое возможно в динамических массивах.Конечно,в целях защиты,лучше было и использовать дин.массив либо вектор...
0
261 / 236 / 161
Регистрация: 10.12.2011
Сообщений: 513
30.10.2013, 19:45
Цитата Сообщение от Matan! Посмотреть сообщение
А как ты себе представляешь удаление? Судя по условию,требуется реализовать статический массив. Удаление как таковое возможно в динамических массивах.Конечно,в целях защиты,лучше было и использовать дин.массив либо вектор...
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
31.10.2013, 00:43
Цитата Сообщение от Leshak Посмотреть сообщение
Что мда?Говори уже,раз начал
0
261 / 236 / 161
Регистрация: 10.12.2011
Сообщений: 513
31.10.2013, 10:04
Ну, дело в том что есть ещё такое понятие как сдвиговый массив. Как раз для данного статического массива. То есть по сути мы его не удаляем, мы индексы просто уплотняем. Элементы в памяти остаются, и да, согласен что динамика была бы лучше. Но, я не видел в условии что там нужен конкретно динамический массив, и удаление в данном случае точно не ассоциируется с копированием
П.с. погугли по тому же паскалю и посмотри на реализацию к примеру(навожу в нужное русло ). Так что дерзай.
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
31.10.2013, 21:12
Цитата Сообщение от Leshak Посмотреть сообщение
Ну, дело в том что есть ещё такое понятие как сдвиговый массив.
Сам придумал?
Цитата Сообщение от Leshak Посмотреть сообщение
То есть по сути мы его не удаляем, мы индексы просто уплотняем. Элементы в памяти остаются
Зачем тебе уплотнять,если элементы надо удалять?Если ты про циклический сдвиг в массивах,то он здесь явно не решает всех задачи.
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 787
01.11.2013, 00:02
Как только попадается такое задание "Удалить все нечетные элементы" сразу начинаются споры.Но задания есть и примеров достаточно много.Я так понимаю, удалить из статического массива элементы нельзя,а сделать "невидимками" можно.Вот один из подобных примеров.

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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
const int N = 10;
 
void Init(int *a,const int n)
{
   for(int i = 0; i < n; ++i)
      a[i] =1+ rand() % 10;
}
void Print(int *a,const int n)
{
   for(int i = 0; i < n; ++i)
      cout << a[i] << " ";
      cout << endl;
}
void Otsev(int *a, int &n)
{
   int j=0;
   for(int i = 0; i < n; ++i)
      if (a[i] %2 == 0)
          a[j++] = a[i];
          n = j;
}
int main()
{
   int a[N], n = N;
   srand(time(NULL));
   Init(a, N);
   Print(a, N);
   Otsev(a, n);
   Print(a, n);
   return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.11.2013, 00:02
Помогаю со студенческими работами здесь

Удалить все нечетные элементы массива. Добавить элемент с номером К. Сдвинуть циклически на M элементов вправо
Ребят, помогите срочно пожалуйста. Нужно: 1)Удалить все нечетные элементы массива. 2) Добавить элемент с номером К. 3) Сдвинуть...

создать одномерный массив заполненый случайными цыфрами. удалить все нечетные элементы массива. среда PascalABC
создать одномерный массив заполненый случайными цыфрами. удалить все нечетные элементы массива. среда PascalABC

Сколько элементов встречается в массиве по 3 раза
Помогите, пожалуйста. &gt;&gt;&quot;Дан одномерный массив А, состоящий из N элементов. Сколько значений элементов встречается в массиве по 3...

Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные
Помогите, пожалуйста. &gt;&gt;&quot;Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец...

Удалить из массива все нечетные числа
дан массив int a.Удалить из массива все нечетные числа


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru