Я пишу программу для поиска ошибок страницы с использованием FIFO в C#. Пользователь либо предоставляет ссылку на 20 символов, либо генерируется случайная. Пользователь также вводит количество кадров.Проблемы с алгоритмом замены страницы FIFO
Итак, я передаю массив из 20 однозначных чисел, массив кадров и # кадров в мою функцию FIFO. По какой-то причине мой номер выключен, и я не уверен, что я делаю неправильно. Я использую справочную строку 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6 с 4 кадрами для проверки, и мне кажется, что я получаю 56, когда мне нужно получить 14 ошибок. Ниже приведена моя функция FIFO.
private static void FIFO(int numFrames, int []refString, int []frame)
{
int i, j = 0, k, fault = 0, flag = 0;
for (i = 0; i < 20; i++)
{
for (k = 0; k < numFrames; k++)
{
if (frame[k] == refString[i])
flag = 1;
}
if (flag == 0)
{
frame[j] = refString[i];
j++;
for (k = 0; k < numFrames; k++)
{
fault++;
}
}
else
{
flag = 0;
}
if (j == numFrames)
{
j = 0;
}
}
Console.WriteLine("\nThe number of page faults with FIFO is: " + fault);
}
что ваш массив кадров? – Noctis
Просто массив int размером 7 (7 максимальных разрешенных кадров) Он называется «frame» – user3015999