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

Ответы на вопрос

#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;
}



Для решения этой задачи на языке программирования C вам потребуется создать три одномерных массива для хранения исходных данных и результата. Затем вы будете сравнивать элементы двух исходных массивов и вычислять сумму индексов для одинаковых элементов, записывая результат в третий массив. Вот как это можно сделать:
```c
#include
int main() { int array1[10]; // Первый массив int array2[10]; // Второй массив int result[10]; // Третий массив для хранения суммы индексов
// Заполняем первый и второй массивы случайными значениями от 0 до 9 for (int i = 0; i < 10; i++) { array1[i] = rand() % 10; array2[i] = rand() % 10; }
// Находим сумму индексов одинаковых элементов и записываем в третий массив for (int i = 0; i < 10; i++) { int element = array1[i]; for (int j = 0; j < 10; j++) { if (array2[j] == element) { result[i] = i + j; break; // Найден одинаковый элемент, выходим из цикла } } }
// Выводим результат на экран printf("Массив 1: "); for (int i = 0; i < 10; i++) { printf("%d ", array1[i]); } printf("\n");
printf("Массив 2: "); for (int i = 0; i < 10; i++) { printf("%d ", array2[i]); } printf("\n");
printf("Результат: "); for (int i = 0; i < 10; i++) { printf("%d ", result[i]); } printf("\n");
return 0; } ```
Этот код создает два массива `array1` и `array2`, заполняет их случайными значениями от 0 до 9, затем находит суммы индексов одинаковых элементов и записывает их в массив `result`.


Похожие вопросы
Топ вопросов за вчера в категории Информатика









Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili