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

Вывести все четные элементы массива - C++

Восстановить пароль Регистрация
 
gelfer
0 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 5
20.02.2012, 16:25     Вывести все четные элементы массива #1
Стоит задача:
Формат входных данных

Сначала задано число N - количество элементов в массиве. Далее через пробел записаны N чисел - элементы массива.

Формат выходных данных

Необходимо вывести все четные элементы массива (то есть те элементы, которые являются четными числами).

Вот что получилось:

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
#include <iostream>
using namespace std;
 
int main()
{
    
    int mas[100];
    int n,i;
    cout<<"Entre quatity of massiv elements";
    cin>>n;
    cout<<"Enter "<<n<< " elements: ";
    
    for(i=0;i<=n;i++)
    {
            
    cin>>mas[i];
            while(mas[i]%2==0)
                {
                    cout<<"Your numbers"<<mas[i]<<"\t";
                    break;
                }
            
    }
    
    return 0;
}
Вывод нужных чисел производится, но проблема заключается в том, что после вывода не происходит логического завершения программы.
Помогите пожалуйста исправить этот код, или написать альтернативу, буду премного благодарен!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AzaKendler
 Аватар для AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772
20.02.2012, 16:34     Вывести все четные элементы массива #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for(i=0;i<n;i++)
        {
                        
        cin>>mas[i];
                       
        }
for(i=0;i<n;i++)
        {
                        
      if(mas[i]%2==0)
                                {
                                        cout<<"Your numbers"<<mas[i]<<"\t";
                                 }
 
                       
        }
но проблема заключается в том, что после вывода не происходит логического завершения программы.
это может быть от того что в своих циклах ты пишешь за границы массива.
for(i=0;i<=n;i++)
замени на
for(i=0;i<n;i++)
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
20.02.2012, 16:35     Вывести все четные элементы массива #3
gelfer, точнее здесь изменить надо так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
int main()
{
        int mas[100];
        int n,i;
        cout<<"Entre quatity of massiv elements";
        cin>>n;
        cout<<"Enter "<<n<< " elements: ";
        for(i=0;i<=n;i++)
        {                      
        cin>>mas[i];
        if (mas[i]%2==0){
               cout<<mas[i]<<" ";
        }        
}
        return 0;
}
rinat_w
89 / 85 / 4
Регистрация: 13.11.2011
Сообщений: 183
20.02.2012, 18:31     Вывести все четные элементы массива #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Новенький, Ты допустил ту ошибку которую хотел исправить AzaKendler
а вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
using namespace std;
int main(){
    int n;
    cout<<"n=?";
    cin>>n;
    int a[n];
    for (int i=0; i<n; i++) cin>>a[i];
    cout<<"\nEven numbers: \n";
    for (int i=0; i<n; i++) if (a[i]%2==0) cout<<a[i]<<" ";
    cout<<endl;
    system("pause");
    return 0;
}
Yandex
Объявления
20.02.2012, 18:31     Вывести все четные элементы массива
Ответ Создать тему
Опции темы

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