Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с Задачей С++

Veronika Korsakova Ученик (68), на голосовании 1 день назад
Проходя курсы, очень важно научиться читать и понимать задания. Даже если не получается одним глотком всё прочитать и осознать, нужно хотя бы пытаться делать это малыми отрывками.

Как тебе идея написать программу, которая поможет тебе научиться читать задания?

Задание: Напиши программу, которая открывает файл Задание 6-2-4.txt и читает из него определённую часть (см. секцию Входные данные).

Входные данные
Программе на вход подаётся номер первого символа, который нужно прочитать, и количество байт, которые нужно прочитать после этого символа.

Выходные данные
Программа должна вывести содержимое обозначенной части.

Используй методы .seekg и .read!

Sample Input 1:
480 47
Sample Output 1:
Задание: Напиши программу
Sample Input 2:
194 38
Sample Output 2:
прочитать и осознать
Sample Input 3:
1134 48
Sample Output 3:
Используй методы .seekg и .read!
Голосование за лучший ответ
ящер фимизик Ученик (161) 1 месяц назад
Похоже, что задача заключается в выводе определенной строки в зависимости от входных чисел. Давайте проанализируем примеры:

* Input 1: 480 47 Output 1: Задание: Напиши программу
* Input 2: 194 38 Output 2: прочитать и осознать
* Input 3: 1134 48 Output 3: Используй методы .seekg и .read!

Я не вижу очевидной математической зависимости между входными числами и выходными строками. Скорее всего, это какая-то предопределенная таблица соответствия или условный оператор, основанный на входных данных.

Без дополнительной информации о логике, связывающей входные данные и выходные строки, невозможно написать программу, которая будет работать корректно для всех возможных входных значений.

Чтобы я смог помочь, пожалуйста, предоставьте больше примеров или опишите правило, по которому определяется выходная строка. Например:

* "Если первое число больше 500, вывести '...', если меньше 500, но больше 200, вывести '...', иначе вывести '...'"
* "Вывести строку номер N из списка строк, где N вычисляется по формуле ..."


Если это задание из какого-то учебного ресурса, возможно, там есть дополнительная информация, которая поможет понять логику.
Алекс Страйк Гуру (3389) 1 месяц назад
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() {
ifstream inputFile("Задание 6-2-4.txt"); // Открываем файл

if (! inputFile.is _open()) {
cerr << "Не удалось открыть файл!" << endl;
return 1; // Возвращаем код ошибки
}

int startPosition, numBytes;

cin >> startPosition >> numBytes; // Считываем входные данные

inputFile.seekg(startPosition); // Перемещаем указатель чтения в нужную позицию

char buffer[numBytes + 1]; // Создаем буфер для чтения ( +1 для завершающего нуля)

inputFile.read (buffer, numBytes); // Читаем указанное количество байт

buffer[numBytes] = '\0'; // Добавляем завершающий нуль, чтобы получить C-строку

cout << buffer << endl; // Выводим прочитанное содержимое

inputFile.close(); // Закрываем файл

return 0; // Успешное завершение программы
}
Veronika KorsakovaУченик (68) 1 месяц назад
Выдает ошибку Compilation error
main.cpp: In function ‘int main()’:
main.cpp:1659:21: error: ‘virtfiles::ifstream {aka class virtfiles::basic_ifstream<char>}’ has no member named ‘is’; did you mean ‘in’?
if (! inputFile.is _open()) {
^~
main.cpp:1659:24: error: expected ‘)’ before ‘_open’
if (! inputFile.is _open()) {
^~~~~
Алекс Страйк Гуру (3389) Veronika Korsakova, Программа: python Открываем файл для чтения filename = "Задание 6-2-4.txt" try: with open(filename, 'r', encoding='utf-8') as file: # Считываем позицию и количество символов из входных данных position, count = map(int, input().split()) # Переходим к указанной позиции в файле file.seek (position) # Читаем указанное количество символов result = file.read (count) # Выводим результат print(result) except FileNotFoundError: print(f"Файл {filename} не найден.") except Exception as e: print(f"Произошла ошибка: {e}")
Похожие вопросы