Моделирование работы жесткого диска - C#

Узнай цену своей работы

Формулировка задачи:

Доброе время суток, нужна помощь в следующем: вводится команда с консоли, по нажатию Enter в массиве из 1024 нулей заполняется 8 единиц, конечный массив имеет вид 111111110000...0. При вводе той же команды к первым 8 единицам прибавляется еще 8 единиц, и массив имеет вид 11111111111111110000...0. Когда заполняются последние 8 единиц в массиве, выдать сообщение типа "жесткий диск полон". Пока могу похвастаться следующим кодом, возможно, он в корне неправильный. Заранее спасибо.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Media;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Для получения списка комманд введите 'help':");
            int[] mass = new int[1024];
            for (;;)
            {
                string command = Console.ReadLine();
                if (command == "help")
                {
                    Console.WriteLine("help - список комманд;");
                    Console.WriteLine("format - форматирование;");
                    Console.WriteLine("exit - выход;");
                    Console.WriteLine("create file - создать файл;");
                }
                if (command == "format")
                {

                    using (StreamWriter stream = new StreamWriter("d:\\matrix.txt"))
                    {
                        for (int i = 0; i < mass.Length; i++)
                        {
                                stream.Write("0");               
                        }
                    }
 
                    Console.WriteLine("Форматирование выполнено");
                }
 
                if (command == "create file")
                {
                    using (StreamReader stream = new StreamReader("d:\\matrix.txt"))
                    {
                        char[] buffer = new char[1024];
                        int i = 0;
                        int k = 1024;
                        stream.Read(buffer, i, k);
                        
                        foreach (char c in buffer)
                        {
                            
                            int x = Convert.ToInt16(c) - 48;
                            if (x >= 0)
                            {
                                for (int z = 0; z <= 0; z++)
                                {
                                    mass[z] = x;                                    
 
                                    Console.Write(mass[i]);

                                }
                            }
                        }
                        Console.WriteLine();
                        
                    }
                    Console.Write("Файл создан");

                }
 
                if (command == "exit")
                {
                    {
                        break;
                        
                    }
                }
                
            }
            
        }
    }
}

Решение задачи: «Моделирование работы жесткого диска»

textual
Листинг программы
int[] array = new int[1024];
            for (int i = 0; i < 1024; i++)
            {
                array[i] = 0;
            }
            int q = 0;
            while (q <=1016)
            {
                if (Console.ReadLine().ToLower().Equals("fill"))
                {
                    for (int j = q; j < q + 8; j++)
                    {
                        array[j] = 1;
                    }
 
                    q += 8;
                }
            }
            Console.WriteLine("hard disk is full");
            Console.ReadKey();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.143 из 5
Похожие ответы