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

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

Войти
Регистрация
Восстановить пароль
 
Dimiroff
2 / 2 / 0
Регистрация: 14.10.2009
Сообщений: 10
#1

Нужно вытащить из массива... - C++

14.10.2009, 15:37. Просмотров 555. Ответов 8
Метки нет (Все метки)

Нужно вытащить из массива из шести элементов (0,1,2,3,4,5) все чётные числа. Помогите плиз. Заранее благодарю!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2009, 15:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужно вытащить из массива... (C++):

Как вытащить элемент из массива не используя цикл и выбор? - C++
Вот собственно код: const int size = 30; char name; char last_name; char grade = {'A', 'B',...

Нужно написать функцию которая будет увеличевать каждый элеммент массива на 10% (Ввод массива через клаву) - C++
#include <iostream> #define n 7 using namespace std ; int funct(int q) { funct=q*10% ; } int main () { int a; ...

Нужно сделать, чтобы программа состояла из 3 функций, тоесть 1-ая функция ввода массива, 2-ая основная функция, 3-я- вывод массива - C++
Есть программа #include <iostream> #include <algorithm> const int N = 5; int handSet(void) { int a; std::cout...

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

Нужно из массива переделать в функцию - C++
Добрый день господа программисты, помогите переделать из массива в функцию, потому как преподаватель сказал, что массив не оправдан=) ...

Нужно из массива удалить нулевые элементы - C++
Нужно из массива удалить нулевые элементы на примере 1 0 2 0 3 0 4 0 5 0 -> выдает правильно 1 2 3 4 5 а если я ввожу 0 0 0 0 0 0 0...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
tokah
3 / 3 / 1
Регистрация: 10.06.2009
Сообщений: 4
14.10.2009, 15:45 #2
Каждое в цикле for делишь на два, и если без остатка, то выводишь его
if (! (x%2))
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
14.10.2009, 16:04 #3
где n - количество элементов массива, arr[i] - iый элемент массива
C++
1
2
3
4
for (int i=0;i<n;i+=2)
    {
        cout<<arr[i];
    }
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
14.10.2009, 16:48 #4
ИМХО, деление для целых это глупо
C++
1
2
3
for(i = 0; i < 6; ++i)
    if(!arr[i] & 1)
        std::cout<<arr[i]<<' ';
denver
1610 / 279 / 3
Регистрация: 19.09.2009
Сообщений: 701
14.10.2009, 17:06 #5
Так можно еще.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <iomanip>
using std::cout;
using std::endl;
int trial = 2;
int fount = 0;
int main()
{
const int MAX = 6; 
int value[6] = {0, 1, 2, 3, 4, 5 };
 
 for (int i = 0; MAX > i ; i++)
 {fount = (*(value + i) % trial) ;
if (fount == 0)
 std::cout <<"\nProstoe 4islo" << ' ' << *(value+i)
          <<std::endl;
 }
   system("pause");
   return 0;
}
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
14.10.2009, 19:39 #6
denver, а можно и
так
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
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#define n 6
class Help
{
private:
    int* mas;
public:
    Help();
    ~Help();
    int getMas(int ind);
    void setMas(int ind, int val);
    void Chet();
    void Print();
};
Help::Help()
{
    mas = new int[n];
    int i;
    std::cout<<"Введите массив:\n";
    for(i = 0; i < n; ++i)
        std::cin>>mas[i];
}
Help::~Help()
{
    std::cout<<"\n\nМассив удален!\n";
    delete []mas;
}
int Help::getMas(int ind)
{
    return mas[ind];
}
void Help::setMas(int ind, int val)
{
    mas[ind] = val;
}
void Help::Chet()
{
    std::cout<<"\n\nЧетные элементы:\n";
    int i;
    for(i = 0; i < n; ++i)
        if(!(mas[i]&1))
            std::cout<<mas[i]<<' ';
}
void Help::Print()
{
    int i;
    std::cout<<"\nМассив:\n";
    for(i = 0; i < n; ++i)
        std::cout<<mas[i]<<' ';
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    Help* hlp = new Help();
    hlp->Print();
    hlp->Chet();
    hlp->~Help();
 
    system("pause");
    return 0;
}
тоже. НО какой смысл писать велосипеды для элементарнейшей программы???
Зачем тебе надо подключать манипуляторы, если ты их не использовал?
Зачем тебе переменная MAX, если можно везде указать 6 или тогда зачем указывать размер 6, а поставить размерностью MAX?
Зачем тебе лишняя переменная trial? 4 байта деть некуда? Можно делить сразу на 2.
Зачем остаток записывать в fount? Еще лишних 4 байта? Можно остаток сравнивать сразу с нулем.
Я уже даже не буду придираться к тому, что это не простые числа, а просто нечетные.
Надеюсь ты понял свои ошибки и в будущем не будешь их допускать
NAG
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
14.10.2009, 19:43 #7
Вот программа на Си!:

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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
#define EL_NUM 10
 
 
void main (void)
{ //main
int all_mas[EL_NUM], np_el[100], p_el[100];
int i,k_p=0, k_np=0;
clrscr ();
printf ("Vvod elementov: \n");
    for (i=0;i<EL_NUM;i++)
{
scanf ("%d", &all_mas[i]);
}
    for (i=0;i<EL_NUM;i++)
{
if (all_mas[i]%2!=0)
{
np_el[k_np]=all_mas[i];
k_np++;
}
else{
p_el[k_p]=all_mas[i];
k_p++;}
}
printf ("\n\aChetnuje \n");
     for (i=0;i<k_p;i++)
     {
printf ("%d ", p_el[i]);
     }
printf ("\n\aNe chetnuje \n ");
for (i=0;i<k_np;i++)
{
printf ("%d ", np_el[i]);
}
getch ();
 }//main
Добавлено через 36 секунд
убереш не нужный код(все что касается НЕ ЧЕТНЫХ елементов и вуаля готово)
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
14.10.2009, 19:52 #8
Народ, я все конечно понимаю, каждый хочет помочь, но какой смысл 20 раз выкладывать один и тот же код, только еще и с ненужным мусором? Все кто предлагают подход с получением остатка от деления на 2 можете не писать, пожалуйста. Потому что я писал и не такие велосипеды с похожим смыслом, но это же не повод выкладывать код написанный на Pascal/Basic/С/С++/С#/J#/Java обрастающий все большим и большим количеством мусора!
Вполне достаточный ответ был во втором посте.
denver
1610 / 279 / 3
Регистрация: 19.09.2009
Сообщений: 701
14.10.2009, 20:16 #9
Ошибки понял, спасибо за поправки. Эт первая моя программа с использованием массива - так что для первого раза думаю можно сквозь пальцы посмотреть.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2009, 20:16
Привет! Вот еще темы с ответами:

Нужно из массива удалить наименьшое число - C++
Что не так? #include &lt;iostream&gt; using namespace std; void main() { int i,ar,n,k,v,l,min; cin&gt;&gt;n; ...

Нужно ли создавать ссылку на элемент массива? - C++
Добрый день! Напомните, плз, следующее: есть цикл for, который итерирует некий массив array. В этом цикле в одной итерации приходится...

Нужно вытащить драйвера - Системный софт
Подскажите програмульку, которая умеет вытаскивать драйвера из неактивного раздела винды, желательно отделяя стандартные драйвера от...

Нужно вытащить функции - Delphi
Пожалуйста помогите оставить только нужные элементы в коде на скиншоте видно какие...


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

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

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