Вопрос задан 10.05.2019 в 22:19. Предмет Информатика. Спрашивает Коновальчук Юлія.

Заданы массивы действительных чисел а1,а2,…,а20 и b1,b2,…,b30. Перенести в массив С те элементы

массива В, которые встречаются в массиве А, удалив их и из массива А, и из массива В. Нужен код на языке Си.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Макарова Мария.
#include <stdio.h>

int main() {
 int a[20], b[30], c[20], lenC = 0;
 for(int i = 0; i < 20; i++) scanf("%d", &a[i]);
 for(int i = 0; i < 30; i++) scanf("%d", &b[i]);
 for(int i = 0; i < 30; i++)
   for(int j = 0; j < 20; j++)
     if(b[i] == a[j]) {
        c[i] = b[i];
        lenC++;
        for(int k = j; k < 20; k++)
          if(a[k] == b[i]) a[k] = 0;
        b[i] = 0;
        break;
      }
  for(int i = 0; i < lenC; i++) printf("%d ", c[i]);
}
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Приведу пример кода на языке C, который решает данную задачу:

```c #include

int main() { float a[20] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0}; float b[30] = {1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.5, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0}; float c[30]; int c_index = 0;

// Переносим элементы массива B в массив C, исключая элементы, которые встречаются в массиве A for (int i = 0; i < 30; i++) { int match_found = 0; // флаг для обозначения, было ли найдено совпадение элемента

for (int j = 0; j < 20; j++) { if (b[i] == a[j]) { match_found = 1; // нашли совпадение break; } }

if (!match_found) { c[c_index] = b[i]; // переносим элемент из B в C c_index++; } }

// Выводим элементы массива C for (int i = 0; i < c_index; i++) { printf("%.2f ", c[i]); } printf("\n");

// Удаляем элементы массива A, которые также присутствуют в C for (int i = 0; i < 20; i++) { int match_found = 0; // флаг для обозначения, было ли найдено совпадение элемента

for (int j = 0; j < c_index; j++) { if (a[i] == c[j]) { match_found = 1; // нашли совпадение break; } }

if (!match_found) { printf("%.2f ", a[i]); // выводим элемент, который не встречается в C } } printf("\n");

// Удаляем элементы массива B, которые также присутствуют в C for (int i = 0; i < 30; i++) { int match_found = 0; // флаг для обозначения, было ли найдено совпадение элемента

for (int j = 0; j < c_index; j++) { if (b[i] == c[j]) { match_found = 1; // нашли совпадение break; } }

if (!match_found) { printf("%.2f ", b[i]); // выводим элемент, который не встречается в C } } printf("\n");

return 0; } ```

Программа создает исходные массивы `a` и `b`, а также массив `c`, который будет содержать перенесенные элементы из массива `b`. Затем она ищет совпадения элементов в массивах `a` и `b`, переносит элементы из `b` в `c`, и выводит содержимое массива `c`. Далее программа удаляет элементы из массивов `a` и `b`, которые встречаются в массиве `c`, и выводит оставшиеся элементы в массивах `a` и `b`.

0 0

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

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

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