Zaloguj się, aby obserwować  
Bartuc

Język C / C++ / C# / Java - pytania, problemy...

1979 postów w tym temacie

Ale to znaczy co konkretnie chcesz zrobić?

Bo funkcja main może przyjąć tylko taką sygnaturę, to znaczy przyjąć ciąg Stringów. Dzięki temu możesz wywoływać swój program z parametrami.

Poza tym to co zrobiłeś do tej pory to oczywiście sortowania Ci nie zrobi, tzn. System.out.println też zwróci błąd. Jeśli chcesz zobaczyć, jak wygląda efekt sortowania powinieneś zrobić:

System.out.println(bubble.sort());


Jeśli chciałbyś, żeby użytkownik mógł na konsoli podawać liczby, które mają stworzyć tablicę do posortowania, powinieneś zrobić coś takiego:

public static void main(String[] args)
{
int[]tab = new int[args.length-1];
for(int i = 0; i < args.length -1; ++i)
tab = Integer.parseInt(args);
Bubblesort bubble = new Bubblesort(tab);
System.out.println(bubble.b_sort(tab));
}

i wtedy wywołujesz z konsoli:
java program 1 55 33 89 102 321 2013 22 3 5 22

Trochę bez sensu jest to b_sort z parametrem tablica, skoro tę tablicę przekazujesz w konstruktorze i już ją masz w obiekcie (to znaczy referencję do niej).


Chyba że nie zrozumiałem polecenia, to wyjaśnij jakoś dokładniej :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dzięki za tłumaczenie :)

Poradziłem sobie jakiś czas temu z błędami i zacząłem pisać dalej.

Na razie mam takie coś:
http://wklej.to/EHuMr

Moim błędem było to, że odwoływałem się do nieprawidłowych konstruktorów. Jeszcze dużo Javy muszę popisać. Może też odkurzę w końcu książkę :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wiem, że to może zabrzmieć głupio, ale dopiero teraz poczułem potrzebę by sie dowiedzieć. Co to znaczy w funkcji main ten fragment: (int argc, char *argv[]). Raz jest w programie, a raz nie i nie wiem od czego to zależy(nie interesuje mnie co znaczy jeden i drugi ''skrót'' bo to wiem, ale nie mogłem się doszukać jakiegoś prostego wytłumaczenia co to tak naprawdę robi).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 26.05.2013 o 02:49, Dregorio napisał:

Wiem, że to może zabrzmieć głupio, ale dopiero teraz poczułem potrzebę by sie dowiedzieć.
Co to znaczy w funkcji main ten fragment: (int argc, char *argv[]). Raz jest w programie,
a raz nie i nie wiem od czego to zależy(nie interesuje mnie co znaczy jeden i drugi ''skrót''
bo to wiem, ale nie mogłem się doszukać jakiegoś prostego wytłumaczenia co to tak naprawdę
robi).


Jest to liczba i lista argumentów z którymi wywołujesz program. Jesli nie dasz tego w main nie możesz się do nich odwoływać. Przydaje się wtedy gdy twój program przy wywołaniu ma przyjmować jakieś argumenty podawane przez użytkownika (np. czy ma się uruchamiac jako kient czy jako serwer) lub później wywołuszesz z poziomu innych programów w celu wykonania czegoś co uzytkownika nie powinno interesować i nie powinien się w to wtrącać.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zna ktoś jakiś dobrze opisany algorytm sortowania listy jedno lub dwukierunkowej? Wszystkie przykłady operują już na kodzie i kontretnej strukturze, a mi bardziej zależy na pseudokodzie i opisie działania takiego algorytmu.

Edit. Najlepiej w C :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 26.05.2013 o 13:57, Boguslav4 napisał:

Zna ktoś jakiś dobrze opisany algorytm sortowania listy jedno lub dwukierunkowej? Wszystkie
przykłady operują już na kodzie i kontretnej strukturze, a mi bardziej zależy na pseudokodzie
i opisie działania takiego algorytmu.

Edit. Najlepiej w C :)



Jeśli zależy ci na wydajności - sortowanie poprzez scalanie miało bodajże nlogn czyli o wiele lepiej niż najprostsze n^2.
http://edu.i-lo.tarnow.pl/inf/alg/001_search/0097.php - tu masz całkiem ładny opis. Jak chcesz pseudokodu to znajdziesz, w C++ tez jest :D

Ewentualnie sortowanie przez kopcowanie jest całkiem niezłą metodą.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Cześć, czy ktoś może orientuje się gdzie mógłbym poczytać/nauczyć się rysowania wykresów w Javie Swing? W internecie za dużo o tym nie ma w języku polskim :(

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 10.06.2013 o 18:19, kaczoor napisał:

Cześć, czy ktoś może orientuje się gdzie mógłbym poczytać/nauczyć się rysowania wykresów
w Javie Swing? W internecie za dużo o tym nie ma w języku polskim :(


Wujek Dżuugle

JFreeChart! -> masz tam nawet sample (Przykłady)

a jak mocno boli angielski to google translator i słownik.

I dajesz rade

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 18.06.2013 o 00:22, Jan_Czarny napisał:

a jak mocno boli angielski to google translator i słownik.

I dajesz rade


Nie wszystko da się zrozumieć z kontekstu, tłumaczenie dosłowne też nie zawsze jest najlepsze, a forum jest po to by pomóc, nawet jeśli pytanie jest głupie/oczywiste.

Nie piszę tego złośliwe, ale szukając na angielskojęzycznych forach zawsze prawie znajdzie się odpowiedź, a na naszych- zwykle google przekieruje Cię do własnego pytania z odpowiedzią "szukaj w google" lub rozwiązanego wątku sprzed 2 lat bez odpowiedzi :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 21.06.2013 o 17:45, I_dont_know napisał:

Głupie pytanie, czy jezyk c i c+ stosuje się do pisania stron internetowych ? Jezeli
tak to co jest lepsze te języki czy html5?

Oczywiście, że się da. Osobiście jednak bym używał html 5 i php

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 21.06.2013 o 17:45, I_dont_know napisał:

Głupie pytanie, czy jezyk c i c+ stosuje się do pisania stron internetowych ? Jezeli
tak to co jest lepsze te języki czy html5?



Pisanie stron w C/C++ JEST możliwe ale tak naprawdę to taka nakładka podobna nieco do PHP, nadal musisz używać HTML-a, ot, zamiast:

Tu jest niesformatowany tekst w HTML
piszesz:
cout << "To jest niesformatowany tekst w HTML";

W PHP byłoby to
echo "To jest niesformatowany tekst w HTML";

Musisz mieć do tego serwer obsługujący CGI i kompilator C/C++.

Zasadniczo więc "strony" w C++ nadal normalnie korzystają z HTML-a. Z tym że C++, podobnie jak PHP (który w sumie do zastosowań internetowych jest równie dobry co C), pozwalają na ich modyfikację np. po wpisaniu twojego imienia strona powita cię np. komunikatem "Witaj [IMIE]" co w czystym HTML nie jest możliwe.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam, czy ktoś mogłby rozwiązać taki program:

Dana jest lista o elementach typu:
class element
{
int x,y,wiek;
struct element *nastepny;
}
Napisz funkcję zwracającą maksymalną wartość pola wiek ze wszystkich elementów listy. (lista identyfikowana jest przez wskaźnik p do pierwszego elementu).

Nie za bardzo wiem jak to ugryźć, jeśli ktoś to rozwiąże będe miał obrazowy przykład jak to mniej wiecej robić

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 12.09.2013 o 11:00, Lukasz924 napisał:

Witam, czy ktoś mogłby rozwiązać taki program:

Dana jest lista o elementach typu:
class element
{
int x,y,wiek;
struct element *nastepny;
}
Napisz funkcję zwracającą maksymalną wartość pola wiek ze wszystkich elementów listy.
(lista identyfikowana jest przez wskaźnik p do pierwszego elementu).

Nie za bardzo wiem jak to ugryźć, jeśli ktoś to rozwiąże będe miał obrazowy przykład
jak to mniej wiecej robić


int maxWiek = -1;
while (p!=null) {
if (p->wiek > maxWiek)
maxWiek = p->wiek;
p = p->nastepny;
}
return maxWiek;

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 12.09.2013 o 11:00, Lukasz924 napisał:

Witam, czy ktoś mogłby rozwiązać taki program:

Dana jest lista o elementach typu:
class element
{
int x,y,wiek;
struct element *nastepny;
}
Napisz funkcję zwracającą maksymalną wartość pola wiek ze wszystkich elementów listy.
(lista identyfikowana jest przez wskaźnik p do pierwszego elementu).

Nie za bardzo wiem jak to ugryźć, jeśli ktoś to rozwiąże będe miał obrazowy przykład
jak to mniej wiecej robić


Pokaż co już napisałeś i z czym dokładnie masz problem.
Edit: Ech... Erton Cię wyręczył, a chciałem żebyś trochę sam popracował :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

W funkcji trzymasz zmienną pomocniczą maxAge zainicjalizowaną np. na wartość ujemną. W pętli: Sprawdzasz czy pole wiek we wskazywanym aktualnie przez p elemencie ma wartość większą niż maxAge, jeśli tak, to aktualizujesz maxAge. Przechodzisz na kolejny element listy, wykonuje się kolejny obieg pętli (czyli kolejne sprawdzenie wieku i przejście na następny element). Jeśli kolejnego elementu nie ma, to wyskakujesz z pętli i zwracasz wartość trzymaną w maxAge. Jeśli zamiast wieku chciałbyś zwracać element o największym polu wiek, to oprócz maxAge zrób pomocniczy wskaźnik, który będzie aktualizowany wraz z nim.

Jeśli potrzebujesz jeszcze jakichś wyjaśnień, daj znać.

EDIT: Och widzę, że trochę osób rzuciło się do pomocy :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 12.09.2013 o 11:23, eNcore napisał:

Edit: Ech... Erton Cię wyręczył, a chciałem żebyś trochę sam popracował :P

Przepraszam :(

Sam miałem dość długo problem ze śmiganiem po listach we wszystkie strony i łatwiej mi się było nauczyć na przykładzie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 12.09.2013 o 11:27, Erton napisał:

> Edit: Ech... Erton Cię wyręczył, a chciałem żebyś trochę sam popracował :P
Przepraszam :(

Sam miałem dość długo problem ze śmiganiem po listach we wszystkie strony i łatwiej mi
się było nauczyć na przykładzie.


Rozumiem :) Sam wolę jak w dokumentacji są przykłady niż suchy opis klas i metod :)
Fajnie, jeśli kolega wykorzysta twój kod do zrozumienia działania listy, a nie zrobi tylko Ctrl+c / Ctrl+v :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 12.09.2013 o 11:31, eNcore napisał:

> > Edit: Ech... Erton Cię wyręczył, a chciałem żebyś trochę sam popracował :P

> Przepraszam :(
>
> Sam miałem dość długo problem ze śmiganiem po listach we wszystkie strony i łatwiej
mi
> się było nauczyć na przykładzie.

Rozumiem :) Sam wolę jak w dokumentacji są przykłady niż suchy opis klas i metod :)
Fajnie, jeśli kolega wykorzysta twój kod do zrozumienia działania listy, a nie zrobi
tylko Ctrl+c / Ctrl+v :P


Dzieki za pomoc, na pewno wykorzystam uwagi, kopiowanie to nie moja zasada :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zaloguj się, aby skomentować

Będziesz mógł dodać komentarz po zalogowaniu się



Zaloguj się
Zaloguj się, aby obserwować