Переместить элементы одного массива в другой - PullRequest
0 голосов

У меня есть проблема, которую нужно решить. Разработайте программу, которая

  1. В основном пользователь введет целое число в качестве делителя. Он создаст две одномерные таблицы целочисленных значений размером 30 элементов.

1-я таблица получит для значений случайные числа от 0 до 99 (использование функции rand).

будет использовать функцию, в которой вторая таблица будет иметь в качестве значений ТОЛЬКО номера 1-й таблицы, которые делятся точно на делитель (целочисленный делитель, т.е. частное 0).

В основном он напечатает значения двух таблиц.

я достиг этого уровня

1 Ответ

0 голосов
/ 09 апреля 2020

См. Комментарии:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    // create the two arrays
    int arr1[30];
    int arr2[30];
    int j = 0;
    unsigned int divisor;
    // prompt the user
    printf("Enter a divisor: ");
    // make sure prompt is actually shown
    fflush(stdout);
    // we use scanf to read a number
    if (scanf("%u", &divisor) != 1) {
        // scanf couldn't read in a number
        printf("Could not read a number.");
        return 1;
    }
    printf("arr1: ");
    for (int i = 0; i < 30; i ++) {
        // we use rand() % 100 to bound between 0 and 99
        arr1[i] = rand() % 100;
        // we print out the value
        printf("%d ", arr1[i]);
        // we use % to get the remainder
        if (arr1[i] % divisor == 0) {
            // if the remainder is 0 then we can add to arr2
            // j represents the index in arr2 we should insert into
            // so we insert into arr2[j] then increment with j++
            arr2[j] = arr1[i];   
            j ++;
        }
    }
    printf("\narr2: ");
    // now you print out the values of arr2
    // since this is likely a homework problem I want you to figure it out yourself
    printf("\n");
    return 0;
}
...