Моделирование работы жесткого диска - 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();