1. Главная
  2. Библиотека
  3. Программирование
  4. Составь блок схему на основании кода, опираясь на между...
Решение задачи

Составь блок схему на основании кода, опираясь на международный стандарт ISO 5807:1985 и ГОСТ 19.701-90. Опиши по действиям как она должна выглядеть. #include <iostream> #include <fstream> using namespace std; // Функция проверяет, есть ли такое значение

  • Программирование

Условие:

Составь блок схему на основании кода, опираясь на международный стандарт ISO 5807:1985 и ГОСТ 19.701-90. Опиши по действиям как она должна выглядеть. #include <iostream>
#include <fstream>

using namespace std;

// Функция проверяет, есть ли такое значение в массиве
bool isUnique(int* array, int size, int value) {
for (int i = 0; i < size; i++) {
if (array[i] == value) {
return false; // значение уже есть
}
}
return true; // значение уникально
}

// Функция создаёт массив B из неповторяющихся остатков от деления на 2, 3 и 5
int getUniqueRemainders(int A, int size, int& B) {
int tempSize = size * 3; // максимум 3 остатка на каждый элемент
int* temp = new int[tempSize];
int count = 0;

for (int i = 0; i < size; i++) {
int mods[3] = { A[i] % 2, A[i] % 3, A[i] % 5 };
for (int j = 0; j < 3; j++) {
if (isUnique(temp, count, mods[j])) {
temp[count] = mods[j];
count++;
}
}
}

// Создаём массив B
B = new int[count];
for (int i = 0; i < count; i++) {
B[i] = temp[i];
}

delete[] temp; // очищаем временный массив
return count; // возвращаем размер массива B
}

int main() {
ifstream input("input.txt");
ofstream output("output.txt");

// Проверка открытия файлов
if (!input || !output) {
cout << "Ошибка при открытии файла!" << endl;
return 1;
}

int size; // размер входного массива A
input >> size;

int* A = new int[size]; // создаём массив A

// Чтение элементов массива A
for (int i = 0; i < size; i++) {
input >> A[i];
}

int* B = nullptr;
int bSize = getUniqueRemainders(A, size, B); // получаем массив B и его размер


// Запись в output.txt
output << bSize << endl;
for (int i = 0; i < bSize; i++) {
output << B[i] << " ";
}
output << endl;

// Очистка памяти
delete[] A;
delete[] B;

input.close();
output.close();


return 0;
}

Решение:

Ниже приведено пошаговое описание блок-схемы, составленной на основании представленного кода с соблюдением международного стандарта ISO 5807:1985 и ГОСТ 19.701-90. В описании указаны основные блоки, их назначение и порядок выполнения операций: 1. Блок «Начало» - Начало алгоритма (старт программы). 2. Блок ввода/инициализации - Чтение/инициализация файлов: открываются входной файл (input.txt) и выходной файл (output.txt). - Блок решения проверки открытия файлов (условный блок): • Если файлы не открылись, переход к блоку вывода ошибки и завершения алгоритма. • Если файлы успешно открылись...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет