CentrumXP.pl » Witamy
CentrumXP.pl
 
Szukaj
Subskrypcja
Powiadomienie e-mailem o nowościach na CentrumXP.pl:
E-mail: Zapisz
Czy zamierzasz pobrać Internet Explorer 9?


CentrumXP.pl » Microsoft .NET » Kurs C#, cz. I » Dodaj do ulubionych Dodaj do ulubionych   Dodaj do ulubionych Wersja do wydruku

15. Tablice

Autor: Daniel Celeda    Opublikowano: 17 maja 2006    Odsłon: 155768    »Skomentuj...
Strona:
Zobacz również:

01. "Programowanie" - z czym to się je?

02. Programowanie obiektowe

03. Do czego potrzebne jest nam Visual Studio 2005

04. Konfiguracja i obsługa C# 2005 Express Edition

05. Tworzenie solution i nowych projektów

06. Klasy i obiekty

07. Tworzenie oraz inicjalizacja obiektów

08. Operatory arytmetyczne

09. Porozmawiajmy o „stringach”

10. Typy proste i referencyjne

11. Wartości logiczne

12. Inne operatory logiczne

13. Instrukcje iteracyjne (tzw. pętle) - cz. I

14. Instrukcje iteracyjne (tzw. pętle) - cz. II

16. Kolekcje

17. Typy generyczne (generics)

18. Przestrzenie nazw (namespaces)

19. Modyfikatory dostępu

20. Metody statyczne oraz metody instancyjne

»Uzyskaj pomoc na forum

Wynik wykonania programu:

Ćwiczenie

Napisz program pobierający od użytkownika 5 liczb całkowitych i wypisujący je na ekranie od najmniejszej do największej.

class KlasaGlowna
{
    static void Main()
    {
        int[] tablicaLiczb = new int[5];
 
        for (int i = 0; i < 5; i++)
        {
            System.Console.WriteLine("Podaj liczbę o indeksie " + i + ".");
            tablicaLiczb[i] = int.Parse(System.Console.ReadLine());
        }
 
        for (int i = 4; i > 0; i--)
        {
            for (int j = 0; j < i; j++)
            {
                int pierwsza = tablicaLiczb[j];
                int druga = tablicaLiczb[j + 1];
                if (pierwsza > druga)
                {
                    tablicaLiczb[j] = druga;
                    tablicaLiczb[j + 1] = pierwsza;
                }
            }
        }
 
        System.Console.WriteLine("Posortowane liczby: ");
        for (int i = 0; i < 5; i++)
        {
            System.Console.Write(tablicaLiczb[i] + " ");
        }
        System.Console.Read();
    }


«Wstecz 2 3 4 5 6 Dalej» 

Aktualna ocena to: 3,65

Oceń artykuł...
Porażka Kiepski Taki Sobie Dobry Super!

Tagi:  

A teraz:    Dodaj do ulubionych Dodaj do ulubionych    Wydrukuj Wydrukuj    Wyślij link znajomemu Wyślij link znajomemu    Skomentuj Skomentuj

Komentarze do 15. Tablice

Dodaj komentarz»

Marco 22 czerwca 2006, 16:00

Pytam przy okazji. Jaka jest funkcja do sortowania liczb w sposob automatyczny? lub jak wyszukiwac lub sprawdzac czy istnieje interesujaca nas funkcja.

Trolek 28 czerwca 2006, 3:01

a jak napisać taką tablice ? Wypełnij losowo tablicę 10 elementową liczbami z zakresu 0-10 i oblicz: Iloczyn liczb podzielnych przez 5. Tablicę oraz wynik (sumę) wydrukuj. ppwidmo@poczta.fm

xbeyond 18 maja 2007, 9:44

Apropos komentarza Marco, to przydałoby się wykorzystanie funkcji sortującej artykuły z kursu C# w sposób naturalny ponieważ w tym momencie są one posortowane w sposób mało intuicyjny tzn.: 1, 10, 11 ..., 2, 20 itd.

rakuzan 25 czerwca 2007, 19:25

ej Trolek: wiem, ze to dawno bylo, ale to miales zadanie z programowania, co??? lol

złośliwy 29 czerwca 2007, 18:19

Swoją drogą obrzydliwie banalne zadanie.. studenci teraz jacyś leniwi.

ruby 2 lipca 2007, 23:58

to chyba nie student tylko jakis gimnazjalista... mam nadzieje .... :/

Sfinks 5 lipca 2007, 15:59

Ja raczej znam C++, i w wyniku z tego coś mi tutaj nie pasuje. nie mogę załapać 1 rzeczy. cytuje: System.Console.WriteLine("Podaj rozmiar tablicy."); string rozmiarTablicy = System.Console.ReadLine(); i jakiś tam instrukcje. w C++ to by było tak int rozmiarTablicy; cin>>rozmiarTablicy; i bez tych stringów. Więc pytanie: jak można w C# wpisać z klawiatury liczbę int? pytam się bo w całym kursu tego nie znalazłem. bo tutaj później widzę coś takiego int["> tablicaLiczb = new int[int.Parse(rozmiarTablicy)">; for (int i = 0; i < int.Parse(rozmiarTablicy); i++) dla czego nie pisze z skąd się wziął ten " Parse ".najgorzej jest to że w tych językach programistycznych wszystkie słowa kluczowe i funkcji z biblioteki są po angielsku, a i przykładowe zmienne tak samo autory piszą po angielsku , no i początkujący weź zrozum które jest słowa z biblioteki a które podał autor. ale to nie ważne. mnie raczej interesuje czy nie można wpisać od razu wartość int do programu? bez stringu?

Sfinks 10 lipca 2007, 17:45

Sam sobie odpowiem. int liczba = int.Parse(Console.ReadLine()); bardziej krótka i czytelniejsza ! jeszcze bym przy okazji dodał co robią metody ReadLine() i WritLine() byłoby bardziej jasne o co w tym wszystkim chodzi. Niestety nie mam bardzo czasu. No taka nauka gdzie nie pisze się co skąd się wzięło i jakie ma dobre i źle cechy , to nie nazywał bym nauką.

Trez 19 lipca 2007, 12:16

O czym ty gadasz? Wszystko jest wyjaśnione w poprzednich działach. Ja robie kurs od 6 czy 5 lekcji i nie mama problemu. PS Bardzo mi się te lekcje podobają. Gratuluję autorowi.

Luken 28 listopada 2007, 2:00

Bardzo fajny kurs, najważniejsze to przerobić cały, od początku do końca a nie tak jak Sfinks przeczytać jedna lekcje i czepiać się że czegoś nie ma, ja przerobiłem wszystkie lekcje od 1 do tej i nie mam problemu ze zrozumieniem. Autor jest super gościem bo w końcu ktoś pomyślał o ludziach którzy pierwszy raz mają styczność z programowaniem.

Student 27 grudnia 2007, 12:20

PYTANIE: jak załadować do tablicy dane z wczytanego pliku w MS VS 2005 EE??

kivol 13 lutego 2008, 2:36

a co mam napisać jeśli chcę aby każde z pól mojej tablicy przechowywało inny obiekt ? jak to zdeklarować ?

graf 21 lutego 2008, 2:47

tablice zadeklarować można tak aby przyjmowała obiekty tylko tego typu dla jakiego została zadeklarowana dlatego tam wszędzie jest rzutowanie na int. Żeby tablica przechowywała różne obiekty potrzebna by Ci była tablica wielowymiarowa lub jednowymiarowa i będziesz rzutował na typ tablicy, ale chyba łatwiej zrobić jakąś klasę, która miała by składowe o potrzebnych Ci obiektach...

mikes 29 grudnia 2008, 16:17

ja mam problem z tym sortowaniem, nie mogę tego za bardzo zrozumieć jak działa program który sortuje np 5 liczb. Czy jest jakaś funkcja do tego? (c#)

T 9 stycznia 2009, 15:31

Czy początkujący programista napisze sam dobrze działający algorytm sortujący? Wątpię. Najprostsza ze znanych metod to sortowanie bąbelkowe, czyli zamienianie ze sobą sąsiednich wartości z tablicy. Musi być użyta podwójna pętla "for". I raczej nie ma, zdefiniowanych w języku C#, systemowych funkcji sortujących tablice.

sezam 23 stycznia 2009, 12:26

Algorytm sortujący okazuje się banalny...gdy się trochę pomyśli.... Ja nie lubię programować i robię to kiedy muszę.... ale jak juz to robię to zastanawiam się nad działaniem programu.... skracam sobie czas pisania każdej aplikacji srednio o połowę ;">

pilsio 5 lutego 2009, 22:20

Najprostszy algorytm sortujący to quicksort. Tworzysz drugą tablicę. Bierzesz pierwszy element z tablicy i poruwnujesz z nastepnymi (czy jest mniejszy) jesli tak to go wypisujesz w pierwsze miejsce drugiej tablicy, jeśli nie bierzesz następny elemet i postępujesz tak samo. Należy tylko pamiętać aby przy porównywaniu kolejnych elementów pomijać te które juz wypisalismy.

cin i cout 5 marca 2009, 14:37

W C++ cin i cout dzialaja identycznie, jak tu Console.Writeline(...). Cin i cout sa obiektami i jako takie tez wypisuja tylko w stringach. Tyle ze niejawnie na nasze potrzeby konwertuja dany string na float czy tam int. Dlatego mozna uzywac takiej konstrukcji: int x; cin >> x; // pobiera liczbe jako string, zamienia ja na int i juz cout << x ; // zamienia x na string i wysyla na ekran Nie wiem jeszcze jak mozna tez w C# zrobic cos podobnego, niekoniecznie z operatorami << i >>, ale przynajmniej skrocic zapis i przy okazji zeby dokonywalo automatycznej konwersji typu na string i odwrotnie. Poza tym, kurs fajny :0 Pozdarwiam

Sz x 4 kwietnia 2009, 15:14

Sortować tablice można za pomocą Sort():
Array.Sort(jakaśtamtablica);

Sz x 4 kwietnia 2009, 15:19

Jeśli chcesz sortować od elementu największego:
Array.Sort(jakaśtamtablica);

Array.Reverse(jakaśtamtablica);
 
Array.Reverse(...) zapisuje tablice od tyłu.

Asmes 29 maja 2009, 18:27

Ciekawie choc malo, a gdzie tablice wielowymiarowe???

johnny 7 sierpnia 2009, 18:15

no właśnie, gdzie tablice wielowymiarowe? podaj jakąś przykładową klasę i zrób tablicę wielowymiarową tej klasy? ciekawe czy se poradzisz ;/

fifi 18 grudnia 2010, 13:33

Czemu nie działają linki z rozwiązaniami ćwiczeń ?

Morales 9 stycznia 2011, 9:02

Rozwiązania ćwiczeń nie wyświetlają się w Firefox"sie. Najlepiej otworzyć sobie ten kurs w IE albo Operze. BTW bardzo dobry kurs :)

Eldritch 24 października 2011, 21:20

Niestety, rozwiązania do ćwiczeń nie wyświetlają mi się i w IE9.

Kundi 25 października 2011, 13:41

Na Chrome śmiga

Mateusz 26 października 2011, 1:28

Niestety nie moge zrozumiec deklaracji : int["> tablicaLiczb = new int[3">; dlaczego new int[3"> ?? i dlaczego nie mozna tego zapisac int[3"> talblicaliczb ... Nie rozumiem na czym polega new int[3">


Dodaj swój komentarz

»Zasady udzielania komentarzy

Autor:  
Komentarz:
Dodaj komentarz
© 2012 Onex Group
Onex Group O Onex Group  |  O CentrumXP.pl  |  Kontakt  |  Reklama
Nasze serwisy: CentrumXP.plXboxSpot.pl  |  Jama Mastaha