1

Тема: Вивести непарні числа з масиву, який вводиться вручну

Доброго дня
Стоїть така задача: дано ціле число N (>0). Треба сформувати і вивести цілий масив розміру N, який містить N перших позитивних непарних чисел (1, 3, 5 і т.д.)
Взагалі, чесно кажучи, не можу зрозуміти як це реалізувати)
Варіант є хіба такий:

const int N = 10;
int main()
{
    int i, number, A[N];

    printf("Vvedite massiv A = ");
    scanf("%d ", &N);
    for (i = 0; i < N; i++)
    {
        A[i] = 0+rand()%15;
    }
    printf("Massiv:\n"); 
    for ( i = 0; i < N; i++ )
    {
        printf("%d", A[i]);
    }
    for ( i = 0; i < N; i++ )
    {
        if (A[i]%2 != 0)
        {
            printf("%d", A[i]);
        }
    }
}

2

Re: Вивести непарні числа з масиву, який вводиться вручну

Я розумію як це зробити з масиву вже завчасно заданої довжини і рандомних чисел — але не розумію як з масиву, довжина якого задається вже самим користувачем при вводі з клави

3

Re: Вивести непарні числа з масиву, який вводиться вручну

У задачі нічого не говориться про генерування чисел. У вас є числова послідовність із непарних чисел. Оголошуй лічильник i=1, а далі в кожній ітерації прибавляй 2-ку.

4 Востаннє редагувалося lucas-kane (21.12.2022 16:53:46)

Re: Вивести непарні числа з масиву, який вводиться вручну

Trap_o написав:

Я розумію як це зробити з масиву вже завчасно заданої довжини і рандомних чисел — але не розумію як з масиву, довжина якого задається вже самим користувачем при вводі з клави

Це називається динамічне розподілення пам'яті. Використовуй malloc, calloc, realloc, free із бібліотеки stdlib.h

Dynamic memory management

calloc    Allocate and zero-initialize array (function)

free    Deallocate memory block (function)

malloc    Allocate memory block (function)

realloc    Reallocate memory block (function)

Подякували: leofun011

5

Re: Вивести непарні числа з масиву, який вводиться вручну

lucas-kane написав:

У задачі нічого не говориться про генерування чисел. У вас є числова послідовність із непарних чисел. Оголошуй лічильник i=1, а далі в кожній ітерації прибавляй 2-ку.

Тобто це тоді просто буде цикл, який буде писати непарні числа вплоть до N, не як масив?

6 Востаннє редагувалося lucas-kane (21.12.2022 20:26:24)

Re: Вивести непарні числа з масиву, який вводиться вручну

Trap_o написав:
lucas-kane написав:

У задачі нічого не говориться про генерування чисел. У вас є числова послідовність із непарних чисел. Оголошуй лічильник i=1, а далі в кожній ітерації прибавляй 2-ку.

Тобто це тоді просто буде цикл, який буде писати непарні числа вплоть до N, не як масив?

А, що заважає присвоїти кожному елементу масиву значення цього лічильника?

a[i] = j+2; де i = 0..(N-1), j = 0..(N-1)+N

І чому саме до N.N - це кількість елементів масиву, які ви повинні ввести із клавіатури.

А взагалі, я бачу, що вам для початку потрібно написати код із статичною змінною N (не розподіляти пам'ять динамічно).
А далі розібравшись, що таке динамічний розподіл, переписати завдання конкретно під вашу задачу. Уважніше читай завдання.

По мірі виконання можеш кидати розв'язки сюди, тут тобі допоможуть, правда якщо будеш виконувати сам і конкретно питати, що саме в тебе не виходить.