Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
1 / 1 / 0
Регистрация: 22.03.2011
Сообщений: 56

Написать вывод последовательности Фибоначчи используя механизм интерфейсов

27.01.2014, 12:31. Показов 2891. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Используя механизм интерфейсов, написать программу, выводящую на печать заданное количество элементов последовательности Фиббоначи, значения первых 2-х элементов задаются.

Собственно сама задача несложная, но работать с интерфейсами не приходилось, помогите пожалуйста.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.01.2014, 12:31
Ответы с готовыми решениями:

Реализовать для иерархии механизм интерфейсов
Реализовать для иерархии механизм интерфейсов, при этом один из классов должен реализовывать как...

Реализовать механизм интерфейсов
реализуйте для иерархии классов механизм интерфейсов, при этом один из классов должен реализовывать...

Разработка интерфейсов, использование механизма наследования интерфейсов и применение их в программах
Имеется код, необходимо реализовать, и протестировать эти интерфейсы IComparable (сравнимый),...

6
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
27.01.2014, 12:38
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Program
{
    static void Main(string[] args)
    {
          MyFibonacci mf = new MyFibonacci();
        //mf.Fibbonaci(int one, int two, int FibCount);
    }
}
interface IFibbonaci
{ 
    public void Fibbonaci(int one, int two, int FibCount);
}
class MyFibonacci: IFibbonaci
{
    public void Fibbonaci(int one, int two, int FibCount)
    {
        //реализуем логику вычисления последовательности Фибббоначи
    }
}
1
1 / 1 / 0
Регистрация: 22.03.2011
Сообщений: 56
27.01.2014, 13:30  [ТС]
Ошибка 1 Недопустимый для этого элемента модификатор "public" - строка 11.

Не вкурю, почему ругается на "public void Fibbonaci(int one, int two, int FibCount);"
0
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
27.01.2014, 13:35
Уберите public, все сигнатуры в интерфейсе по умолчанию открытые.
0
1 / 1 / 0
Регистрация: 22.03.2011
Сообщений: 56
27.01.2014, 13:49  [ТС]
Пробовал, получаю другую ошибку.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            MyFibonacci mf = new MyFibonacci();
                
            //mf.Fibbonaci(int one, int two, int FibCount);
        }
    }
    interface IFibbonaci
    {
        void Fibbonaci(int one, int two, int FibCount);
    }
    class MyFibonacci : IFibbonaci
    {
        void Fibbonaci(int one, int two, int FibCount)
        {
            if (FibCount == 0)
                return 0;
            int temp;
            for (int i = 1; i < FibCount; i++)
            {
                Console.WriteLine(one);
                Console.WriteLine(two);
                one = one + two;
                two = two + one;
            }
            //реализуем логику вычисления последовательности Фибббоначи
        }
    }
}
Code
1
2
3
Ошибка 1 ConsoleApplication1.MyFibonacci не реализует член интерфейса 
"ConsoleApplication1.IFibbonaci.Fibbonaci(int, int, int)". Не удается реализовать член интерфейса 
"ConsoleApplication1.MyFibonacci.Fibbonaci(int, int, int)", поскольку он не является общим.
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
27.01.2014, 15:06
Вот так работает
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System;
 
namespace ConsoleApp
{
    interface IFibonacci
    {
        void Fibonacci(int one, int two, int FibCount);
    }
 
    class MyFibonacci : IFibonacci
    {
        public void Fibonacci(int one, int two, int FibCount) {
            //реализуем логику вычисления последовательности Фиббоначи
        }
    }
 
    class Program
    {
        static void Main(string[] args) {
            MyFibonacci f = new MyFibonacci();
            f.Fibonacci(1, 2, 3);
        }
    }
}
Если доступ к методу интерфейса нужно закрыть, можно так
C#
1
2
3
4
5
6
class MyFibonacci : IFibonacci
{
    void IFibonacci.Fibonacci(int one, int two, int FibCount) {
        //...
    }
}
1
1 / 1 / 0
Регистрация: 22.03.2011
Сообщений: 56
27.01.2014, 15:07  [ТС]
Рабочий код, мб кому-то понадобится.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            MyFibonacci mf = new MyFibonacci();
            //mf.Fibbonaci(int one, int two, int FibCount)
            int x;
            do
            {
                Console.Write("Введите первый элемент: ");
                int.TryParse(Console.ReadLine(), out x); // этот метод переводит строку в число
            } while (x <= 0);
            int y;
            do
            {
                Console.Write("Введите второй элемент: ");
                int.TryParse(Console.ReadLine(), out y); // этот метод переводит строку в число
            } while (y <= 0);
            int t;
            do
            {
                Console.Write("Введите количество эллементов для вывода: ");
                int.TryParse(Console.ReadLine(), out t); // этот метод переводит строку в число
            } while (t <= 0);
 
            mf.Fibbonaci(x,y,t);
        }
    }
    interface IFibbonaci
    {
        void Fibbonaci(int one, int two, int FibCount);
    }
    class MyFibonacci : IFibbonaci
    {
        public void Fibbonaci(int one, int two, int FibCount)
        {
           
                
            
            for (int i = 1; i < FibCount; i++)
            {
                Console.WriteLine(one);
                Console.WriteLine(two);
                one = one + two;
                two = two + one;
            }  //реализуем логику вычисления последовательности Фибббоначи
            Console.ReadLine();
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.01.2014, 15:07
Помогаю со студенческими работами здесь

Как правильно использовать механизмы наследования и полиморфизма для создания единого интерфейса
Доброго времени суток Комрады! Я невкурю тему про полиморфную обработку или как кошерно_правильно...

Есть ли в WinForms механизм работы с фреймами интерфейса?
Я новичок C# (точнее: работал очень давно и вот опять вернулся к этому инструменту). Работаю с...

Найти k-член последовательности Фибоначчи, используя рекурсию
Найти k-член последовательности Фибоначчи, используя рекурсию. P. S. находила решение этой задачи,...

Как, используя механизм биндинга, получить доступ TextBox`у к PrjProperty.clientName
Доброе время суток, господа разработчики! для связывания глобальных переменных между классами...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru