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

Чётные числа на нечётных местах - C++

Восстановить пароль Регистрация
 
Guneska
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 26
03.02.2013, 00:40     Чётные числа на нечётных местах #1
Доброго времени суток, уважаемые форумчане! Уже больше 10 часов бьюсь на задачей, но почти безрезультатно. Перерыла весь интернет, и здесь искала, но того что мне нужно не нашла.
Задание такое: Дано n, a[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
27
28
29
30
31
#include <iostream.h>
#include <conio.h>
int main()
{
clrscr();
int i, n=10;
int a[]={4,5,3,2,5,6,7,5,3,8};
 
    for(i=0;i<n;i++)
    cout<<a[i];
    cout<<"  \n"; //вывод массива на экран
    cout<<endl;
 
        for(i=1;i<n;i++)
        {
        a[i]=i;
        if (!(a[i]%2))
        cout<<a[i]<<" "; //вывод чисел, которые делятся на 2
        }
cout<<endl<<endl;
 
    {
    for(i=0; i<n/2; i++)
    if(!(a[i]/2))       //где-то откопала, что вычисление индекса элемента делается так, но оно не работает
    cout <<a[i]<<" ";
    }
cout<<endl<<endl;
 
getch();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2013, 00:40     Чётные числа на нечётных местах
Посмотрите здесь:

C++ Дана строка, содержащая целые числа. Вывести на экран только чётные числа
Определить количество и сумму цифр, состоящих на нечётных местах в записи числ C++
дано предложение.Удалить из него все буквы о ,стоящие на нечётных местах C++
C++ Дана последовательность расположить её положительные элементы стоящие на нечётных местах по возрастанию
Перевернуть чётные числа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,057
03.02.2013, 00:59     Чётные числа на нечётных местах #2
Цитата Сообщение от Guneska Посмотреть сообщение
for(i=1;i<n;i++)
* * * * {
* * * * a[i]=i;
* * * * if (!(a[i]%2))
* * * * cout<<a[i]<<" "; //вывод чисел, которые делятся на 2
почти правильно только у тебя i=1 2 3 4 5
а нужно 1 3 5 7
да и вообще как то заумно для такой задачи

Цитата Сообщение от Guneska Посмотреть сообщение
Чётные числа на нечётных местах
C++
1
2
3
for(int i=1;i<n;i+=2)//цикл по нечетным элементам 1 3 5
  if(a[i]%2==0)    // если значение четное 
     qual++;        // увеличиваем количество
Добавлено через 2 минуты
Цитата Сообщение от Guneska Посмотреть сообщение
if(!(a[i]/2)) * * * //где-то откопала, что вычисление индекса элемента делается так, но оно не работает
это означает что число которое лежит в ячейке деленное на 2 равно 0
т.е условие выполнится если в a[i] 0 или 1
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
03.02.2013, 01:00     Чётные числа на нечётных местах #3
А вы зачем в строке 16 переприсваиваете элемент массива, числом содержащемся в i???
Вот немного изменил вашу программу...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main() {
    int i, n=10;
    int count=0; // количество четных чисел стоящих на нечетных местах
    int a[]={ 4,5,3,2,5,6,7,5,3,8 };
    for(i=0;i<n;i++)
        cout << a[i] << " ";
    cout << endl;
 
    for(i=0;i<n;i++) {
        if (!(i%2) && !(a[i]%2)) {
            cout << a[i] << " "; //вывод чисел, которые делятся на 2 и стоят нечетном месте 1(индекс 0), 3(индекс 2) и тд.
            count++;
        }
    }
 
    cout << endl << "count = " << count << endl;
 
    getchar();
}
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,057
03.02.2013, 01:03     Чётные числа на нечётных местах #4
Цитата Сообщение от TrueBit Посмотреть сообщение
for(i=0;i<n;i++) {
* * * * if (!(i%2) && !(a[i]%2)) {
а сразу на 2 добавлять i и начать с 1?
Цитата Сообщение от TrueBit Посмотреть сообщение
!(i%2)
это четные элементы, а нужны нечетные
Guneska
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 26
03.02.2013, 01:03  [ТС]     Чётные числа на нечётных местах #5
ValeryS, TrueBit, спасибо Вам большое за столь оперативный ответ, но я уже ровным счётом ничего не соображаю, посему, пожалуй, пойду спать. Сладких сновидений!
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
03.02.2013, 01:06     Чётные числа на нечётных местах #6
Цитата Сообщение от ValeryS Посмотреть сообщение
а сразу на 2 добавлять i и начать с 1?
это четные элементы, а нужны нечетные
А ничего, что индексы массива начинаются с нуля? Первый эл-т четный проверим как сработает программа: 0%2=0, и еще отрицание, будет 1 подходит, второй эл-т(индекс 1) 1%2=1, отрицание будет 0, лож, 2й эл-т(индекс 1) четный - не пройдет условие(и т.д.).

p.s. а так да так было бы даже проще:
C++
1
((i+1)%2)
Valli1
4 / 4 / 0
Регистрация: 14.09.2012
Сообщений: 64
03.02.2013, 01:12     Чётные числа на нечётных местах #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream.h>
#include <conio.h>
using namespace std;
const int n=10;
int main()
{int a[10]={4,5,3,2,5,6,7,5,3,8};
int k=0;
for(int i=1;i<n;i+=2){
if(!(a[i]%2))
k++;}
cout<<k;
getch();
return 0;}
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,057
03.02.2013, 01:17     Чётные числа на нечётных местах #8
Цитата Сообщение от TrueBit Посмотреть сообщение
А ничего, что индексы массива начинаются с нуля?
нулевой элемент четный или нечетный?
Цитата Сообщение от TrueBit Посмотреть сообщение
Первый эл-т четный проверим
вот именно
Цитата Сообщение от TrueBit Посмотреть сообщение
0%2=0, и еще отрицание, будет 1 подходит
а не должен
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
03.02.2013, 01:22     Чётные числа на нечётных местах #9
Цитата Сообщение от ValeryS Посмотреть сообщение
нулевой элемент четный или нечетный?

вот именно

а не должен
Чётное число — целое число, которое делится без остатка на 2: …, −4, −2, 0, 2, 4, 6, 8, …
Нечётное число — целое число, которое не делится без остатка на 2: …, −3, −1, 1, 3, 5, 7, 9, …

Первый элемент(эл-т записаный в памяти по индексу 0), будет 4, первый - нечетный номер, а число по номеру 1, четное(4). Единственное четное по нечетным номерам 1-3-5-...

1е место нечетное - подходит, на первом месте стоит четный эл-т(4) тоже подходит.
АлександрБелоус
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 15
03.02.2013, 01:36     Чётные числа на нечётных местах #10
Ввод элементов с клавиатуры

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
#include <iostream>
using namespace std;
 
int chetnie_elementi(int* arr, int n){
    cout << " Четные элементы " << "\n";
    for (int count = 1; count < n; count+=2)
        if ((arr[count] % 2) == 0) // печатаем чётные числа на нечетных местах
        cout << arr[count] << "\n" ;
            return 0;
} 
 
void input(int* arr, int n){ // ввод массива с клавиатуры
    for(int i=0; i<n; i++)
        cin >> arr[i];
}
 
int main()
{
    setlocale (LC_ALL, "RUS");
    cout << " Количество элементов: ";
    int n;
    cin >> n;
    int* arr = (int*)malloc(n*sizeof(int));
    input(arr, n);
    int cet = chetnie_elementi(arr, n);
    free(arr);
    system("pause");
    return 0;
}
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,057
03.02.2013, 01:38     Чётные числа на нечётных местах #11
Цитата Сообщение от TrueBit Посмотреть сообщение
1е место нечетное
а кто тут утверждал
Цитата Сообщение от TrueBit Посмотреть сообщение
А ничего, что индексы массива начинаются с нуля?
ты уж определись с единицы считаем или с нуля
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
03.02.2013, 01:41     Чётные числа на нечётных местах #12
Цитата Сообщение от ValeryS Посмотреть сообщение
а кто тут утверждал

ты уж определись с единицы считаем или с нуля
По индексу 0, идет первый эл-т(1-нечетное число) - подходит, на его месте (на первом месте(индекс 0)) стоит четное число 4.
Четное число 4 стоит на нечетном месте(на первом) - разве не подходит? (Определить количество чётных чисел, стоящих на нечётных местах.)
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,057
03.02.2013, 01:48     Чётные числа на нечётных местах #13
Цитата Сообщение от TrueBit Посмотреть сообщение
По индексу 0, идет первый эл-т(1-нечетное число)
да с какого перепугу то
на линейке первое число тоже 0 но отсчет то ведется от нуля
ты бытовые то решения не привлекай в программирование
ребенок первого года жизни тоже нечетный год прожил?
так и пишут 0 лет 6 месяцев
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
03.02.2013, 01:56     Чётные числа на нечётных местах #14
Цитата Сообщение от ValeryS Посмотреть сообщение
да с какого перепугу то
на линейке первое число тоже 0 но отсчет то ведется от нуля
ты бытовые то решения не привлекай в программирование
ребенок первого года жизни тоже нечетный год прожил?
так и пишут 0 лет 6 месяцев
В математике, строки матриц тоже начинают нумеровать с нуля? Вобщем, нет смысла далее спорить, все дело в том, что считать первым эл-том.
Guneska
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 26
03.02.2013, 18:55  [ТС]     Чётные числа на нечётных местах #15
Спасибо всем, ребята! Программа работает!
Пёс
 Аватар для Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
03.02.2013, 19:00     Чётные числа на нечётных местах #16
Цитата Сообщение от Guneska Посмотреть сообщение
Доброго времени суток, уважаемые форумчане! Уже больше 10 часов бьюсь на задачей, но почти безрезультатно. Перерыла весь интернет, и здесь искала, но того что мне нужно не нашла.
Задание такое: Дано n, a[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
27
28
29
30
31
#include <iostream.h>
#include <conio.h>
int main()
{
clrscr();
int i, n=10;
int a[]={4,5,3,2,5,6,7,5,3,8};
 
    for(i=0;i<n;i++)
    cout<<a[i];
    cout<<"  \n"; //вывод массива на экран
    cout<<endl;
 
        for(i=1;i<n;i++)
        {
        a[i]=i;
        if (!(a[i]%2))
        cout<<a[i]<<" "; //вывод чисел, которые делятся на 2
        }
cout<<endl<<endl;
 
    {
    for(i=0; i<n/2; i++)
    if(!(a[i]/2))       //где-то откопала, что вычисление индекса элемента делается так, но оно не работает
    cout <<a[i]<<" ";
    }
cout<<endl<<endl;
 
getch();
return 0;
}
всё просто)


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
#include <conio.h>
int main()
{
clrscr();
int i, n=10;
int a[]={4,5,3,2,5,6,7,5,3,8};
 
    for(i=0;i<n;i++)
    cout<<a[i];
    cout<<"  \n"; //вывод массива на экран
    cout<<endl;
    
    int count = 0;
     
    for(int i=0; i<n; i++)
        if(i%2 !=0 && a[i]%2==0)
           count++;
    cout << count;
    
getch();
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2013, 19:07     Чётные числа на нечётных местах
Еще ссылки по теме:

C++ Разделить цифры, стоящие на нечётных местах на 3
C++ Поменять местами цифры числа, стоящие на чётных и нечётных местах
Упорядочить нечётные элементы по убыванию, а чётные оставить на прежних местах C++

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

Или воспользуйтесь поиском по форуму:
Guneska
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 26
03.02.2013, 19:07  [ТС]     Чётные числа на нечётных местах #17
Пёс, да, Вы правы, блин, всё абсолютно просто))))
Yandex
Объявления
03.02.2013, 19:07     Чётные числа на нечётных местах
Ответ Создать тему
Опции темы

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