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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 5.00
алишка999
1 / 1 / 0
Регистрация: 01.09.2012
Сообщений: 30
#1

Удалить из массива все четные элементы - C++

08.09.2012, 17:08. Просмотров 2002. Ответов 4
Метки нет (Все метки)

дан массив int a[100]. удалить из массива все четные элементы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2012, 17:08     Удалить из массива все четные элементы
Посмотрите здесь:
C++ Удалить из массива все четные элементы
Из целочисленного массива Х все четные элементы записать в массив Y. Удалить в массивах максимальные элементы C++
Удалить из одномерного массива все четные элементы без изменения порядка C++
C++ Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый массив переписать все четные
C++ Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные
Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные C++
Из массива удалить четные элементы C++
C++ Удалить из массива все четные числа
Поставить в начало массива все четные элементы, а конец – все нечетные C++
C++ Найти минимальный элемент массива и удалить четные элементы
Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый переписать все элементы данного массива с четными номерами, во второ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
08.09.2012, 17:28     Удалить из массива все четные элементы #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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>
#include <time.h>
using namespace std;
 
int main(void)
{
 int n=100,j=0;
 srand(time(NULL));
 int *a = new int [n];
 cout<<"Before: "<<endl;
 for (int i=0; i<100; i++)
 {
  a[i]=rand()%10;
  cout<<a[i]<<" ";
  if (a[i]&1)
    j++;
 }
  cout<<endl;
  cout<<"After: "<<endl;
  int *buf = new int [n-j];
  int k=0;
  for (int i=0; i<100; i++)
   if (a[i]%2!=0)
    {
     buf[k]=a[i];
     k++;
    } 
  for (int i=0; i<n-j; i++)
   cout<<buf[i]<<" "; 
  delete [] a,buf; 
  system("PAUSE");
}
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
08.09.2012, 17:29     Удалить из массива все четные элементы #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream> 
int main() 
{   
    
    unsigned int i, j;
    int array[100]; 
    int size = 100;
 
    for ( i = 0; i < 100; i++)  
    {
         array[i] = i + 1; 
         std::cout << array[i] << " "; 
    }
 
    std::cout << std::endl << std::endl << std::endl; 
 
    for ( i = 0; i < size; i++) 
        for ( j = 0; j < size; j++)  
            if(array[i] % 2 == 0) 
            { 
                array[i] = array[size - 1]; 
                size--; 
            }  
 
    for ( i = 0; i < size; i++) 
        std::cout << array[i] << " "; 
    std::cout << std::endl;
}
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
08.09.2012, 17:55     Удалить из массива все четные элементы #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
#include <ctime>
const int N = 10;
 
int main()
{
   int i, a[N], n;
   srand(time(NULL));
   for(i = 0; i < N; i++)
      std::cout << (a[i] = rand()%100) << " ";
   std::cout << std::endl;
   for(i = n = 0; i < N; i++)
      if (a[i] & 1)
         std::cout << (a[n++] = a[i]) << " ";
   return 0;
}
Pavlin234
0 / 0 / 0
Регистрация: 12.03.2017
Сообщений: 58
19.03.2017, 17:46     Удалить из массива все четные элементы #5
Эти 3 задачи решены неверно! Я решил их проверить через компьютерный мозг, и он выдал 0 из 100%.
Раз эти задачи неверно решены, я решил, что нужно правильно написать программу! Через 10 минут я написал программу, которую, затем проверил через компьютерный мозг и он выдал 100% из 100%!
Вот решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include <ctime>
using namespace std;
int main()
{
    int i, a[1000], N, n;
    cin >> N;
    for (i = 0; i < N; i++)
        cin >> a[i];
        
    for (i = n = 0; i < N; i++) {
        if (a[i] & 1) {
            cout << (a[n++] = a[i]) << " ";
        }
    }
    if (n == 0)
        cout << "There are no elements" << endl;
    getchar();
    getchar();
    return 0;
}
Проверка 1.
входные данные
5
3 -9 6 -7 1
выходные данные
3 -9 -7 1
Проверка 2.
входные данные
11
4 6 4 -4 -3 4 -6 -6 -9 -9 1
выходные данные
-3 -9 -9 1
Проверка 3.
входные данные
31
-49512 97168 -81277 57126 39184 -32396 31803 32847 -98508 -95365 68417 -31613 -33218 -87675 -11709 -14320 -11641 -11613 96643 -68524 -92865 56196 -58003 -32305 -21266 -73742 2842 -494 -6914 70083 58888
выходные данные
-81277 31803 32847 -95365 68417 -31613 -87675 -11709 -11641 -11613 96643 -92865 -58003 -32305 70083
Их конечно больше, но я дал в среднем нормальное количество проверок! Последняя, конечно, тяжелей проверить!



P.S. Если вы довольны, то отметьте это решение верное, то есть является ответом на поставленную задачу, и нажмите на кнопку "+1 СПАСИБО"!!!
Если у вас есть вопросы и нужно решить задачки по С++, пишите мне, и я ,примерно, через 1-2 дня я постараюсь решить задачу или ответить на вопрос, который вы задали мне!
Yandex
Объявления
19.03.2017, 17:46     Удалить из массива все четные элементы
Ответ Создать тему
Опции темы

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