Вопрос задан 27.02.2019 в 06:25. Предмет Информатика. Спрашивает Данькина Валерия.

Помогите, пожалуйста, написать программу на языке СПрограмма должна считывать последовательность 25

чисел из файла, заменить все элементы, которые меньше среднего арифметического этих элементов, на 0 и вывести новую последовательность в новый файл
0 0
Перейти к ответам

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

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

int x, s=0, n=0;
float sr;
FILE *fin, *fout;
fin = fopen("input.txt", "r"); 
fout = fopen("output.txt", "w");
while (fscanf(fin, "%d", &x) == 1) {
    s+=x;
    n++;
}
sr = 1.0*s/n;
fclose (fin);
fin = fopen("input.txt", "r"); 
while (fscanf(fin, "%d", &x) == 1) {
  if (x < sr) x = 0;
  fprintf (fout, "%d ", x);
}
fclose (fout);
fclose (fin);
}

Пример:
Файл input.txt:
21 45 87 61 90 43 70 15 33 58
Файл output.txt:
0 0 87 61 90 0 70 0 0 58 
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Задача: Написать программу на языке C для считывания последовательности 25 чисел из файла, замены всех элементов, которые меньше среднего арифметического этих элементов, на 0 и вывода новой последовательности в новый файл.

Для решения этой задачи вам понадобится использовать операции чтения и записи файлов, а также вычисление среднего арифметического.

Шаг 1: Открытие файлов Начнем с открытия исходного файла, из которого будем считывать последовательность чисел. Также создадим новый файл, в который будем записывать измененную последовательность. Вот код, который открывает файлы:

```c #include

int main() { FILE *inputFile, *outputFile; inputFile = fopen("input.txt", "r"); outputFile = fopen("output.txt", "w"); // Проверка на успешное открытие файлов if (inputFile == NULL || outputFile == NULL) { printf("Ошибка при открытии файлов"); return 1; // Возвращаем код ошибки } // Ваш код для чтения и записи последовательности чисел // Закрываем файлы fclose(inputFile); fclose(outputFile); return 0; } ```

Шаг 2: Чтение последовательности чисел Теперь, когда файлы открыты, мы можем приступить к чтению последовательности чисел из исходного файла. Мы будем использовать цикл для считывания 25 чисел. Вот код, который считывает последовательность:

```c #include

int main() { // Открытие файлов int sequence[25]; // Массив для хранения последовательности чисел // Чтение последовательности чисел из файла for (int i = 0; i < 25; i++) { fscanf(inputFile, "%d", &sequence[i]); } // Ваш код для замены элементов и записи новой последовательности // Закрытие файлов return 0; } ```

Шаг 3: Вычисление среднего арифметического и замена элементов Теперь, когда мы успешно считали последовательность чисел, мы можем вычислить среднее арифметическое и заменить элементы, которые меньше этого значения, на 0. Вот код, который выполняет эту операцию:

```c #include

int main() { // Открытие файлов int sequence[25]; // Массив для хранения последовательности чисел // Чтение последовательности чисел из файла int sum = 0; double average; // Вычисление суммы всех элементов for (int i = 0; i < 25; i++) { sum += sequence[i]; } // Вычисление среднего арифметического average = (double)sum / 25; // Замена элементов, меньших среднего арифметического, на 0 for (int i = 0; i < 25; i++) { if (sequence[i] < average) { sequence[i] = 0; } } // Ваш код для записи новой последовательности в файл // Закрытие файлов return 0; } ```

Шаг 4: Запись новой последовательности в файл Теперь, когда мы заменили элементы, которые меньше среднего арифметического, на 0, мы можем записать новую последовательность в новый файл. Вот код, который выполняет эту операцию:

```c #include

int main() { // Открытие файлов int sequence[25]; // Массив для хранения последовательности чисел // Чтение последовательности чисел из файла int sum = 0; double average; // Вычисление суммы всех элементов // Вычисление среднего арифметического // Замена элементов, меньших среднего арифметического, на 0 // Запись новой последовательности в файл for (int i = 0; i < 25; i++) { fprintf(outputFile, "%d ", sequence[i]); } // Закрытие файлов return 0; } ```

Шаг 5: Закрытие файлов В конце программы не забудьте закрыть открытые файлы с помощью функции `fclose()`. Вот код, который выполняет эту операцию:

```c #include

int main() { // Открытие файлов int sequence[25]; // Массив для хранения последовательности чисел // Чтение последовательности чисел из файла int sum = 0; double average; // Вычисление суммы всех элементов // Вычисление среднего арифметического // Замена элементов, меньших среднего арифметического, на 0 // Запись новой последовательности в файл // Закрытие файлов fclose(inputFile); fclose(outputFile); return 0; } ```

Полный код программы:

```c #include

int main() { FILE *inputFile, *outputFile; inputFile = fopen("input.txt", "r"); outputFile = fopen("output.txt", "w"); // Проверка на успешное открытие файлов if (inputFile == NULL || outputFile == NULL) { printf("Ошибка при открытии файлов"); return 1; // Возвращаем код ошибки } int sequence[25]; // Массив для хранения последовательности чисел // Чтение последовательности чисел из файла for (int i = 0; i < 25; i++) { fscanf(inputFile, "%d", &sequence[i]); } int sum = 0; double average; // Вычисление суммы всех элементов for (int i = 0; i < 25; i++) { sum += sequence[i]; } // Вычисление среднего арифметического average = (double)sum / 25; // Замена элементов, меньших среднего арифметического, на 0 for (int i = 0; i < 25; i++) { if (sequence[i] < average) { sequence[i] = 0; } } // Запись новой последовательности в файл for (int i = 0; i < 25; i++) { fprintf(outputFile, "%d ", sequence[i]); } fclose(inputFile); fclose(outputFile); return 0; } ```

Сохраните этот код в файл с расширением ".c" (например, "program.c"), затем скомпилируйте и запустите программу, и она выполнит заданную операцию с последовательностью чисел из файла "input.txt" и запишет результат в файл "output.txt". Убедитесь, что файлы "input.txt" и "output.txt" находятся в том же каталоге, где находится ваш исполняемый файл программы.

0 0

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

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

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