Windows Forms Application

0

Mam napisaną funkcję sortowania.. Nie umiem przekaz jej do buttona aby po kliknięciu w ów button funkcja wypisała wynik w texBoxie:

namespace WindowsFormsApplication14
{
    public partial class Form1 : Form
    {
        int i = 0;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            i++;
            textBox1.Text += i.ToString();
        }

        public void my_counting_sort(int[] arr)
        {
            int range = 100;
            int[] count = new int[range];
            for (int i = 0; i < arr.Length; i++) count[arr[i]]++;
            int index = 0;
            for (int i = 0; i < count.Length; i++)
            {
                while (count[i] != 0)
                {
                    arr[index++] = i;
                    count[i]--;
                }
            }
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

    }
} 

Mógłby ktoś mi z tym pomóc?

0

Pokaż więcej kodu bo to chyba nie cały.

Skoro coś sortujesz to zapewne tablice a tablice wyświetla się w pętli więc by wyświetlić ją w textBoxie daj też tam pętle?

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        int[] Tab = new int[10] { 5, 7, 3, 4, 0, 6, 9, 2,1,10 };
        
        private void button1_Click(object sender, EventArgs e)
        {
            Array.Sort(Tab);
            foreach (int i in Tab)
            {
                richTextBox1.Text += i + "\n";
            }
        }
    }
}
 
0
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication15
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            label1.Text = "";
            label2.Text = "";
            for (int k = 0; k < tablica.Length; ++k) 
            InitializeComponent();
        }
        public void my_counting_sort(int[] arr)
        {
            int range = 100;
            int[] count = new int[range];
            for (int i = 0; i < arr.Length; i++) count[arr[i]]++;
            int index = 0;
            for (int i = 0; i < count.Length; i++)
            {
                while (count[i] != 0)
                {
                    arr[index++] = i;
                    count[i]--;
                }
            }
        }
        public int[] tablica = { 14, 22, 4, 19, 11, 7, 1 }; 
        private void button1_Click(object sender, EventArgs e)
        {
            int t = my_counting_sort(tablica);
            for (int k = 0; k < tablica.Length; ++k)
            {
                label2.Text += tablica[k] + "\n";
            } 
        }
    }
}
 

mam takie cos teraz...ale wywal mi blad jeden :Cannot implicitly convert type 'void' to 'int'

0

Label i textBox wyświetlają tylko stringi. Parsuj tą tablice do String i wyświetlaj.

0
Kopernik napisał(a)

Label i textBox wyświetlają tylko stringi. Parsuj tą tablice do String i wyświetlaj.
co to znaczy parsuj?
label2.Text +=Convert.ToString(tablica[k] + "\n"); takie cos?:> mimo tego i tak jest error

0

bo znaku \n nie musisz konwertować, tylko liczbę, a do tego co parsujesz/konwertujesz dodaj \n

0
Kopernik napisał(a)

bo znaku \n nie musisz konwertować, tylko liczbę, a do tego co parsujesz/konwertujesz dodaj \n

tez mi podkresla to

 int t = my_counting_sort(tablica);

pomimo ze zrobilem tak jak mowiles label2.Text +=Convert.ToString(tablica[k]) +"\n" ;

0
int[] tab = {1,2,3,4,5};
            for (int i = 0; i < 5; i++)
            {
                textBox.Text += Convert.ToString(tab[i]) + "\r\n";
                label1.Text += Convert.ToString(tab[i]) + "\r\n";
            }

Mi działa..

0
my_counting_sort(tablica);

A co zwraca ta funkcja!?!

0

<quote=Kopernik>

my_counting_sort(tablica);

A co zwraca ta funkcja!?!</q>
tablice intow z posortowanymi liczbami

0

Nie. Ta metoda nic nie zwraca.. Void! Tu jest pies pogrzebany.

0

Trzeba inna metodę? czy jakos da sie przekonwertowac to? Nie wiem jak to zrobic juz.

0

Trzeba chyba doczytać o podstawach języka, a potem się brać za aplikacje okienkowe.

0

Póki co wywolaj tylko tą funkcje, usun tą zmienną int, bo i tak z niej nie korzystasz, a później posłuchaj somekinda

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.