Нужно написать программу на языке СИ
Ответы
Ответ:
Вот пример программы на языке C, которая считывает последовательность семеричных чисел из файла `in.txt`, переводит их в десятичную систему счисления и записывает наибольшее число в файл `out.txt`:
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
// Функция для перевода числа из семеричной системы в десятичную
int convertToDecimal(char *sevenNumber) {
int decimalNumber = 0;
int length = 0;
// Находим длину строки
while (sevenNumber[length] != '\0') {
length++;
}
// Переводим из семеричной в десятичную
for (int i = 0; i < length; i++) {
decimalNumber += (sevenNumber[i] - '0') * pow(7, length - i - 1);
}
return decimalNumber;
}
// Функция для нахождения максимального числа из массива
int findMax(int *numbers, int size) {
int max = numbers[0];
for (int i = 1; i < size; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
}
return max;
}
int main() {
FILE *inputFile, *outputFile;
inputFile = fopen("in.txt", "r");
outputFile = fopen("out.txt", "w");
if (inputFile == NULL || outputFile == NULL) {
perror("Ошибка открытия файла");
return EXIT_FAILURE;
}
char sevenNumber[10]; // Максимальная длина семеричного числа
int decimalNumbers[1000]; // Массив для хранения десятичных чисел
int index = 0;
// Считываем числа из файла
while (fscanf(inputFile, "%s", sevenNumber) != EOF) {
// Переводим семеричное число в десятичное и добавляем в массив
decimalNumbers[index] = convertToDecimal(sevenNumber);
index++;
}
// Находим максимальное число
int maxDecimal = findMax(decimalNumbers, index);
// Выводим результат в файл
fprintf(outputFile, "%d\n", maxDecimal);
// Закрываем файлы
fclose(inputFile);
fclose(outputFile);
return 0;
}
```
Примечание:
1. В данной программе предполагается, что каждое семеричное число разделено пробелом и после последнего числа стоит точка.
2. Размер массива `decimalNumbers` выбран произвольно (1000). В реальной программе лучше использовать динамическое выделение памяти или другие методы обработки массивов переменной длины в зависимости от требований задачи.
Объяснение: