Вопрос задан 27.10.2023 в 15:35. Предмет Информатика. Спрашивает Котикова Алёна.

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

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Жетибаева Меруерт.
#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;
}
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи на языке программирования 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`.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос