profile
Опубликовано 6 лет назад по предмету Информатика от innessabest

Есть два программно перемешанных одномерных массива из десяти элементов каждый. Оба массива хранят неповторяющиеся значения от нуля до девяти. Найти сумму индексов каждой пары одинаковых элементов в разных массивах и записать результаты в третий одномерный массив из десяти элементов.
на С

  1. Ответ
    Ответ дан pacixor
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <locale.h>

    void swap (int *a, int *b)
    {
        int temp = *a;
        *a = *b;
        *b = temp;
    }
     
    void printArray (int arr[], int n)
    {
        int i;
        for (i = 0; i < n; i++) printf("%3d ", arr[i]);
        printf("n");
    }
     
    void randomize ( int arr[], int n )
    {
        long long x;
        asm("rdtsc" : "=A"(x));
        srand(x);
        int i;
        for (i = n - 1; i > 0; i--)
        {
            int j = rand() % (i+1);
            swap(&arr[i], &arr[j]);
        }
    }

    int main()
    {
        setlocale(LC_ALL, "Rus");
        int A[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
        int B[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};  
        int C[10];
        
        randomize (A, 10);
        printf("Первый массив:n");
        printArray(A, 10);
       
        randomize (B, 10);
        printf("Второй массив:n");
        printArray(B, 10);
        
        int i = 0, j = 0;
        
        for (i = 0; i < 10; i++)
            for (j = 0; j < 10; j++)
                if (A[i] == B[j])
                {
                    C[i] = i + j;
                    break;
                }
        printf("Третий массив:n");
         printArray(C, 10);
         
        return 0;
    }
Самые новые вопросы