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

ketgalyschko ketgalyschko    1   26.09.2019 23:00    0

Ответы
КИСА010 КИСА010  08.10.2020 21:24
#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;
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика