Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.58/12: Рейтинг темы: голосов - 12, средняя оценка - 4.58
555qwerty
0 / 0 / 0
Регистрация: 06.07.2018
Сообщений: 24
1

Как вывести результат рекурсии?

19.09.2018, 09:41. Просмотров 2266. Ответов 7
Метки нет (Все метки)

Задание звучит так: Даны два целых числа A и В (каждое в отдельной строке). Выведите все числа от B до A включительно, в порядке возрастания, если A > B, или в порядке убывания в противном случае. Разрешена только рекурсия и целочисленная арифметика. Функция получает данные и возвращает результат. Основная программа должна состоять только из считывая данных с клавиатуры, вызова этой функции и вывода на экран.
Я сделала саму рекурсию и у меня вопрос как теперь ее вывести на экран? Приложение WPF
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
/*
 * Создано в SharpDevelop.
 * Пользователь: voino
 * Дата: 19.09.2018
 * Время: 13:01
 * 
 * Для изменения этого шаблона используйте меню "Инструменты | Параметры | Кодирование | Стандартные заголовки".
 */
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
 
namespace recursia
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }
    
    private string recursion(int str1, int str2) {
            // основное условие задачи
        if (str1 > str2) {
            // Базовый случай
            if (str1 == str2) {
                return str1.ToString();
            }
            // Шаг рекурсии / рекурсивное условие
            return str1 + " " + recursion(str1 - 1, str2);
        } else {
            // Базовый случай
            if (str1 == str2) {
                return str1.ToString();
            }
            // Шаг рекурсии / рекурсивное условие
            return str1 + " " + recursion(str1 + 1, str2);
        }
    }
   
}
    }
это кусок xaml.cs
XML
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
59
60
61
62
63
64
65
66
67
68
69
70
71
<?xml version="1.0" encoding="utf-8"?>
<Window
    x:Class="recursia.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="recursia"
    Height="300"
    Width="300">
    <Grid>
        <TextBox
            x:Name="str1"
            Width="71"
            Height="17.199999999999989"
            Grid.Column="0"
            Grid.Row="0"
            HorizontalAlignment="Left"
            VerticalAlignment="Top"
            Margin="14.4,57.3999999999999,0,0" />
        <TextBox
            x:Name="str2"
            Width="72"
            Height="18"
            Grid.Column="0"
            Grid.Row="0"
            HorizontalAlignment="Right"
            VerticalAlignment="Top"
            Margin="0,57.6,30.4,0" />
        <TextBox
            x:Name="itog"
            Width="69"
            Height="19"
            Grid.Column="0"
            Grid.Row="0"
            HorizontalAlignment="Left"
            VerticalAlignment="Top"
            Margin="110.1,103.1,0,0" />
        <Label
            Content="Ввод "
            Width="41.299999999999955"
            Grid.Column="0"
            Grid.Row="0"
            HorizontalAlignment="Left"
            VerticalAlignment="Stretch"
            Margin="114.4,-0.800000000000011,0,236.8" />
        <Label
            Content="Первое число"
            Width="88.399999999999977"
            Height="23.799999999999955"
            Grid.Column="0"
            Grid.Row="0"
            HorizontalAlignment="Left"
            VerticalAlignment="Top"
            Margin="5.69999999999999,28.9,0,0" />
        <Label
            Content="Второе число"
            Width="86"
            Height="26.300000000000068"
            Grid.Column="0"
            Grid.Row="0"
            HorizontalAlignment="Right"
            VerticalAlignment="Top"
            Margin="0,27.5499999999999,23.4,0" />
        <Label
            Content="Вывод"
            Width="54"
            Height="29.400000000000034"
            Grid.Column="0"
            Grid.Row="0"
            HorizontalAlignment="Left"
            VerticalAlignment="Top"
            Margin="117.9,75.4,0,0" />
    </Grid>
</Window>
это кусок xaml
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2018, 09:41
Ответы с готовыми решениями:

Как получить результат функции?
Написала процедуру (или функцию, я еще не сильна в терминологии), как воспользоваться ее...

Как узнать результат выбора в диалоге
if (dlg.ShowDialog()==DialogResult.OK) Кто нибудь знает как в WPF сделать тоже самое? В шарпе...

Как запустить функцию js и получить результат
Здравствуйте Как запустить функцию js из c# и получить результат ее выполнения? Библиотеки jint и...

Как достать результат с конца рекурсии
Собственно вот код let Exp a b = let rec EXPON a c b = let arr = Array.append a let...

Куда записывать результат рекурсии?
добрый день , очень давно появилась проблема с непониманием рекурсий в C# . Да , допустим я сделал...

7
novikov.ea
999 / 773 / 279
Регистрация: 10.06.2011
Сообщений: 1,466
19.09.2018, 10:49 2
Лучший ответ Сообщение было отмечено 555qwerty как решение

Решение

Результат нужно просто записать в itog.Text
C#
1
2
3
int number1 = Convert.ToInt32(str1.Text);
int number2 = Convert.ToInt32(str2.Text);
itog.Text = recursion(number1, number2);
1
555qwerty
0 / 0 / 0
Регистрация: 06.07.2018
Сообщений: 24
22.09.2018, 23:00  [ТС] 3
а как сделать так,что бы итог выводился в окне wpf? Ну то есть как результат объединить с какой-нибудь кнопкой(button) для вывода в окне textbox?
0
novikov.ea
999 / 773 / 279
Регистрация: 10.06.2011
Сообщений: 1,466
23.09.2018, 11:44 4
Лучший ответ Сообщение было отмечено 555qwerty как решение

Решение

Создайте в интерфейсе кнопку и пропишите обработчик для события Clicked.
XML
1
<Button Clicked="OnButtonClicked" />
В коде C# создайте обработчик и пропишите в нём нужный код
C#
1
2
3
4
private void OnButtonClicked(object sender, RountedEventArgs e)
{
    /* Код здесь */
]
1
555qwerty
0 / 0 / 0
Регистрация: 06.07.2018
Сообщений: 24
25.09.2018, 09:26  [ТС] 5
Выдает ошибку: свойство "Clicked" не существует в пространстве имен XML "http://schemas.microsoft.com/winfx/2006/xaml/presentation". Строка 70 позиция 10. (MC3072) - C:\Users\voino\OneDrive\Documents\SharpDevelop Projects\recurs2\recurs2\Window1.xaml:70,2
0
novikov.ea
999 / 773 / 279
Регистрация: 10.06.2011
Сообщений: 1,466
25.09.2018, 10:05 6
Писал по памяти и ошибся. Не Clicked, а Click. Я думаю, вы могли сами заметить данную ошибку.
0
555qwerty
0 / 0 / 0
Регистрация: 06.07.2018
Сообщений: 24
25.09.2018, 10:19  [ТС] 7
Да,исправил уже,но теперь пытаюсь разобраться какую диррективу подключить,чтобы сборка произошла,потому что выдает ошибку:Не удалось найти имя типа или пространства имен "RountedEventArgs" (пропущена директива using или ссылка на сборку?) (CS0246)
0
novikov.ea
999 / 773 / 279
Регистрация: 10.06.2011
Сообщений: 1,466
25.09.2018, 12:37 8
Лучший ответ Сообщение было отмечено 555qwerty как решение

Решение

Я писал без средств разработки и ошибся в одной букве при написании. Вместо RountedEventArgs надо RoutedEventArgs. Вы за 2 часа в гугл хотя бы вбили. Гугл за 2 секунды опечатку определил.
2
25.09.2018, 12:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2018, 12:37

Как вывести результат?
cout&lt;&lt;&quot;Введите число: &quot;&lt;&lt;endl; cin&gt;&gt;a; cout&lt;&lt;&quot;В какую степень будете...

Как вывести результат?
Найти сумму элементов каждой строки двухмерного массива. Двумерный массив состоит из 7 столбцов и 5...

Вычислить уранение в Masm и вывести результат результат в окно
y=(a-b)*(b-c)/a a=4 b=3 с=2


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru