В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
Lerochka0204
Lerochka0204
19.08.2020 10:35 •  Информатика

Перевести с pascal на c# само : элементами типизированного файла являются отдельные слова. изменить все его элементы на другие слова (их значения вводятся с клавиатуры). рассмотреть вариант: размер существующего файла неизвестен. uses crt; var f: file of string; s: string; i,n: integer; begin clrscr; assign(f,'filef'); rewrite(f); writeln('введите в файл словa, окончание ввода exit: '); //не знем сколько слов repeat readln(s); write(f,s); until s='exit'; clrscr; writeln('исходный файл: '); reset(f); n: =filesize(f); //определяем сколько слов в файле while not eof(f) do//пока не конец файла, читаем begin read(f,s); writeln(s); end; close(f); rewrite(f); writeln('введите в файл ',n,' новых слов'); for i: =1 to n do begin readln(s); write(f,s); end; clrscr; writeln(' файл: '); reset(f); for i: =0 to n-1 do begin read(f,s); writeln(s); end; close(f); readln end.

Показать ответ
Ответ:
tarasyukov
tarasyukov
08.10.2020 06:45
Using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

internal static class Program
{
    private const string fileName_ = "words.dat";

    private static void Main()
    {
        try
        {
            Console.WriteLine("Ввод строк/слов, каждое с новой строки, окончание ввода - пустая строка");

            var words = new List<string>();
            string line;
            while ((line = Console.ReadLine()) != string.Empty)
                words.Add(line);

            Serialize(fileName_, words.ToArray());
            words.Clear();

            Console.WriteLine("Вывод данных из файла");

            var words_from_file = (string[]) Deserialize(fileName_);
            for (var i = 0; i < words_from_file.Length; i++)
                Console.WriteLine($"{i} = {words_from_file[i]}");
        }
        catch(Exception e)
        {
            Console.WriteLine(e);
        }
        finally
        {
            Console.ReadLine();
        }
    }

    private static void Serialize(string file, object o)
    {
        using (var fs = new FileStream(file, FileMode.Create, FileAccess.Write, FileShare.ReadWrite))
        {
            var bf = new BinaryFormatter();
            bf.Serialize(fs, o);
        }
    }

    private static object Deserialize(string file)
    {
        using (var fs = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read))
        {
            var bf = new BinaryFormatter();
            var o = bf.Deserialize(fs);
            return o;
        }
    }
}

Сериализация в бинарный файл.
В вашей программе действия записи и вывода происходят 2 раза, если это действительно надо повторить, то добавьте все в цикл и повторяйте сколько надо/хочется
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота