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

Массивы: вывести все нечетные числа в порядке возрастания их индексов. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
Topten
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 4
13.04.2012, 18:38     Массивы: вывести все нечетные числа в порядке возрастания их индексов. #1
По информатике задали


Дан целочисленный массив размера 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
const int N=9; //Константа 
main()
{
      int A[N], B[N], C[N], i, a, b, c, d;//объявляем переменные
      printf("Vvedite massiv A[10]\n");//подсказка на экране
      for(i=0;i<=N;i++)
{
      printf("Vvedite A[%d]\n",i);
      scanf("%d",a);
      A[i]=a;
}
      for(i=0;i<=N;i++)//отбираем нечетные числа
{
      a=A[i];
      if(a%10=0)
{
      B[i]=a;
}
}
      for(i=0;i<N;i++)
{
      printf("B[%d]\n",i);
      }
getch();
}
Ошибки компилятора:
In function `int main()':
non-lvalue in assignment
[Warning] no newline at end of file
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2012, 18:38     Массивы: вывести все нечетные числа в порядке возрастания их индексов.
Посмотрите здесь:

C++ Вывести все целые числа, расположенные между данными числами, включая сами эти числа, в порядке их возрастания
C++ Вывести все содержащиеся в массиве нечетные числа в порядке возрастания их индексов
C++ Дан целочисленный массив размера N. Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов
C++ Вывести в порядке возрастания все целые числа, расположенные между А и В
C++ Вывести все содержащиеся в массиве числа, нацело делящиеся на 3, в порядке убывания их индексов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
13.04.2012, 18:48     Массивы: вывести все нечетные числа в порядке возрастания их индексов. #2
C
1
if(a % 10 == 0)

Не по теме:

Задачу срооочно решить надо, а на оформление темы времени не пожалел

antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
13.04.2012, 18:51     Массивы: вывести все нечетные числа в порядке возрастания их индексов. #3
C
1
scanf("%d", &a);
почему вы четность проверяете делением на 10?
C
1
if( a%2 == 0)
Topten
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 4
13.04.2012, 19:03  [ТС]     Массивы: вывести все нечетные числа в порядке возрастания их индексов. #4
Исправил как вы мне подсказали и вот что получилось
http://s59.***********/i164/1204/7c/4d888f99ed85.jpg
Venzo
 Аватар для Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
13.04.2012, 19:08     Массивы: вывести все нечетные числа в порядке возрастания их индексов. #5
C++
1
printf("B[%d]\n",i);
ты выводишь i, а не значение B[i].
и еще, добавь счетчик, который будет считать кол-во нечетных чисел и в последнем цикле не до N, а до этого счетчика
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
13.04.2012, 19:09     Массивы: вывести все нечетные числа в порядке возрастания их индексов. #6
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
#include <stdio.h>
#include <conio.h>
#define N 10
 
int main()
{
    int a[N], i;
 
    printf("Vvedite massiv a[10]\n");//подсказка на экране
 
    for(i = 0; i < N; i++)
    {
        printf("Vvedite a[%d]: ",i);
        scanf("%d",&a[i]);
    }
    
    for(i = 0; i < N; i++) //отбираем нечетные числа
    {
        if(a[i] % 2 != 0)
        printf("a[%d] = %d\n", i, a[i]);
    }
    
    getch();
    return 0;
}
Зачем вообще массив B, если тебе нужен только вывод на экран?
Venzo
 Аватар для Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
13.04.2012, 19:13     Массивы: вывести все нечетные числа в порядке возрастания их индексов. #7
тогда второй цикл тоже ни к чему, проверку и вывод можно при вводе поставить)))
Topten
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 4
13.04.2012, 19:21  [ТС]     Массивы: вывести все нечетные числа в порядке возрастания их индексов. #8
Цитата Сообщение от Schizorb Посмотреть сообщение
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
#include <stdio.h>
#include <conio.h>
#define N 10
 
int main()
{
    int a[N], i;
 
    printf("Vvedite massiv a[10]\n");//подсказка на экране
 
    for(i = 0; i < N; i++)
    {
        printf("Vvedite a[%d]: ",i);
        scanf("%d",&a[i]);
    }
    
    for(i = 0; i < N; i++) //отбираем нечетные числа
    {
        if(a[i] % 2 != 0)
        printf("a[%d] = %d\n", i, a[i]);
    }
    
    getch();
    return 0;
}
Спасибо большое!

Добавлено через 2 минуты
Ой еще один маленький штрих упустил: нужно вывести колличество нечетных чисел
MoonGuard
12 / 12 / 0
Регистрация: 05.04.2012
Сообщений: 127
13.04.2012, 19:24     Массивы: вывести все нечетные числа в порядке возрастания их индексов. #9
C++
1
2
3
4
5
6
7
8
9
int k=0;
for(i = 0; i < N; i++) //отбираем нечетные числа
    {
        if(a[i] % 2 != 0){
             k++;
             printf("a[%d] = %d\n", i, a[i]);
         }
    }
printf("k= %i /n",k);
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
13.04.2012, 19:27     Массивы: вывести все нечетные числа в порядке возрастания их индексов. #10
C
1
2
3
4
5
6
7
8
9
10
    int number = 0;
    for(i = 0; i < N; i++) //отбираем нечетные числа
    {
        if(a[i] % 2 != 0)
        {
            printf("a[%d] = %d\n", i, a[i]);
            ++number;
        }
    }
    printf("Number of odd elements = %d", number);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2012, 19:29     Массивы: вывести все нечетные числа в порядке возрастания их индексов.
Еще ссылки по теме:

Вывести все четные числа массива в порядке возрастания их индексов, а затем все нечетные в порядке убывания C++
C++ Вывести в порядке возрастания все целые числа, расположенные между A и B
Вывести все нечетные числа в массиве в порядке возрастания их индекcов C++

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

Или воспользуйтесь поиском по форуму:
Topten
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 4
13.04.2012, 19:29  [ТС]     Массивы: вывести все нечетные числа в порядке возрастания их индексов. #11
Воооо, здорово, все получилось, спасибо
Yandex
Объявления
13.04.2012, 19:29     Массивы: вывести все нечетные числа в порядке возрастания их индексов.
Ответ Создать тему
Опции темы

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