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

Задан массив x натуральных чисел из 20 элементов. Удалить из него элементы, являющиеся удвоенными нечетными числами

02.05.2018, 17:18. Показов 1795. Ответов 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
33
34
35
36
37
38
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL,"rus");
    int x[20],N = 20;
    for(int i = 0;i<N;i++)
    {
        cout<<"Введите "<<i+1<<" элемент"<<endl;
        cin >>x[i];
    }
    for(int i = 0;i<N;i++)
    {
        cout<<x[i]<<((((i+1) % 5) == 0) ? "\n" : " ");
        //if(i+1 % 5 == 0) cout<<endl;
    }
    cout<<endl;
    cout<<endl;
    for(int i = 0;i<N;i++)
    {
       if(x[i] % 2 = 0)
       {
           if(i != 19)
           {
           x[i] = x[i+1];
           N--;
           }
           else
            N--;
       }
    }
    for(int i = 0;i<N;i++)
    {
        cout<<x[i]<<((((i+1) % 5) == 0) ? "\n" : " ");
    }
    system("pause");
    return 0;
}
Удаляю элементы следующим образом, присваиваю x[i] = x[i+1], а от счетчика вывода массива (N) отнимаю -1, но проблема в том, что x[i+1] может быть тоже четным... Подскажите, как грамотно исправить можно?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.05.2018, 17:18
Ответы с готовыми решениями:

Задан массив с количеством элементов N. Вывести элементы с нечетными номерами, являющиеся нечетными
Где ошибка program ffwrewre4; uses crt; const n=20; var a:array of integer; i,m:integer; begin clrscr; randomize;

Задан массив с количеством элементов N. Вывести элементы с нечетными номерами, являющиеся нечетными
Задан массив с количеством элементов N. Вывести элементы с нечетными номерами, являющиеся нечетными.

Задан массив натуральных чисел X из 20 элементов. Удалить из него 2 наибольших и наименьших элемента.
Задан массив натуральных чисел X из 20 элементов. Удалить из него 2 наибольших и наименьших элемента. Добавлено через 23 часа 12...

5
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
03.05.2018, 03:56
так устроит?

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
#include <iostream>
using namespace std;
 
int main()
{    
    int n = 20, k=0, m=0;
    int*a = new int[n];
 
    cout <<"Enter "<<n<<" elements:\n"; 
    for (int i = 0; i < n; i++)      
    cin >>a[i];      
          
    for (int i = 0; i < n; i++)
    {
    if (a[i]%2!=0 || (a[i]%2==0 && a[i]/2%2==0)) k++;
    cout <<a[i]<<" ";
    }
    cout << endl;
    
    int*b = new int[k];
    
    for (int i = 0; i < n; i++)
    if (a[i]%2!=0 || (a[i]%2==0 && a[i]/2%2==0)) b[m++]=a[i];
    
    delete[]a;
    a=b;
    cout <<"New matrix:\n";
    for (int i = 0; i < k; i++)
    cout <<a[i]<<" ";
    cout << endl; 
    delete[]a;
system("pause");
return 0;
}
1
1 / 1 / 0
Регистрация: 27.10.2017
Сообщений: 92
03.05.2018, 22:22  [ТС]
Тут используется динамический массив?
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
03.05.2018, 22:56
Цитата Сообщение от BestInTheWorld Посмотреть сообщение
Тут используется динамический массив?
Скорее всего используется. И возможно даже не один.
1
1 / 1 / 0
Регистрация: 27.10.2017
Сообщений: 92
04.05.2018, 20:12  [ТС]
Решение хорошее... Но динамический массив использовать нельзя(
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
45
46
47
48
49
50
51
52
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL,"rus");
    int x[20],N = 20;
    for(int i = 0;i<N;i++)
    {
        cout<<"Введите "<<i+1<<" элемент"<<endl;
        cin >>x[i];
    }
    for(int i = 0;i<N;i++)
    {
        cout<<x[i]<<((((i+1) % 5) == 0) ? "\n" : " ");
        //if(i+1 % 5 == 0) cout<<endl;
    }
    cout<<endl;
    cout<<endl;
    for(int i = 0;i<N; i++)
    {
       if(x[i] % 2 == 0)
       {
          // N--;
           if(i != 19)
           {
                int k = i;
               while(k < 19)
               {
                   k++;
                   N--;
                   if(x[k] % 2 != 0)
                   {
                       x[i] = x[k];
                       break;
                   }
 
               }
               //N--;
           }
          else
           {
               N--;
           }
       }
    }
    for(int i = 0;i<N;i++)
    {
        cout<<x[i]<<((((i+1) % 5) == 0) ? "\n" : " ");
    }
    system("pause");
    return 0;
}
Программа действитель удаляет все четные элементы но вывод, к сожалению, правильно не работает..
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
04.05.2018, 21:50
Лучший ответ Сообщение было отмечено BestInTheWorld как решение

Решение

Цитата Сообщение от BestInTheWorld Посмотреть сообщение
динамический массив использовать нельзя
это статический использовать нельзя. точнее использовать можно, но это будет не по стандарту С++, хотя работать будет (особенно учитывая что массив одномерный), но на некоторых компиляторах может выдавать ошибку или предупреждение.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.05.2018, 21:50
Помогаю со студенческими работами здесь

Найти члены последовательности, являющиеся удвоенными нечетными числами
6. Даны натуральные числа n, a1,…,an, где n≤1500. Найти члены ak последовательности a1,…,an, являющиеся удвоенными нечетными числами, и...

Массив: Удалить из массива целых чисел все двузначные элементы,являющиеся простыми числами
Удалить из массива целых чисел все двузначные элементы,являющиеся простыми числами .Найти среднее арифметическое элементов массива до и...

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

Подсчитать, сколько чисел являются удвоенными нечетными числами
помогите пожалуйста срочно надо .Дана последовательность из 50 целых чисел. Подсчитать, сколько чисел являются удвоен-ными нечетными ...

Определить количествово элементов, являющехся удвоенными нечетными числами
Задан массив чисел. Определить кол-во элементов, которые являются удвоенными нечетными числами. #include &lt;iostream&gt; using...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru