Zaloguj się, aby obserwować  
UthersonL

Programowanie - pytania, problemy, przykłady programów

1812 postów w tym temacie

Dnia 25.08.2009 o 16:34, ziptofaf napisał:

Mam taki nietypowy problem - mianowicie, czy jest jakaś strona internetowa, gdzie podane
są np. przykładowe programy do zrobienia? Bo programowanie to głównie praktyka, a jakoś
sam nie potrafię sobie wymyślić jakiegoś wymagającego zadania z tej dziedziny ;)


Zależy w czym chcesz robić. Jeśli to jest np. PHP + MySQL to spróbuj zrobić jakiś prosty system newsów albo mały sklep internetowy.
Jesli Java/C++/C# to jakiś kalkulator albo hmmm prosty edytor tekstów.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 27.08.2009 o 18:59, lothar-mb napisał:

Jesli Java/C++/C# to jakiś kalkulator albo hmmm prosty edytor tekstów.

Takie coś to ja zrobię w 10 minut (chyba, że graficzne, to wtedy z pół godziny mi zejdzie) Właśnie potrzebne mi coś, co rzeczywiście będzie wymagające, tylko chwilowo cierpię na brak pomysłów i potrzebne mi jakieś założenia, co do tego, co taki program ma robić. No i nie chodzi mi też o projekty, nad którymi mam siedzieć miesiąc :) Dlatego pytałem o stronkę, na której można sobie coś podobnego znaleźć. Notabene, kilka godzin temu znalazłem:
http://pl.spoj.pl/ - wymaganie nieduże umiejętności programowania, za to duże logicznego myślenia :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 27.08.2009 o 19:08, ziptofaf napisał:

http://pl.spoj.pl/ - wymaganie nieduże umiejętności programowania, za to duże logicznego
myślenia :)


No to jest dobre do treningu myślenia :). Takie zagadki programistyczne - warto.
A co do projektów - no to możesz już spróbować jakiejś fuchy na zlecenie - zdobędziesz doświadczenie i coś zarobisz.
Ja np. najwięcej nauczyłem się jak pracowałem w projekcie komercyjnym w C++ :).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 27.08.2009 o 19:14, lothar-mb napisał:

No to jest dobre do treningu myślenia :). Takie zagadki programistyczne - warto.

No, właśnie nad jedną z nich pracuję :)

Dnia 27.08.2009 o 19:14, lothar-mb napisał:

A co do projektów - no to możesz już spróbować jakiejś fuchy na zlecenie - zdobędziesz
doświadczenie i coś zarobisz.
Ja np. najwięcej nauczyłem się jak pracowałem w projekcie komercyjnym w C++ :).

Brak skończonych 18 lat chyba wyklucza moją obecność w czymś takim ;) Może za rok...:P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 27.08.2009 o 19:22, ziptofaf napisał:

Brak skończonych 18 lat chyba wyklucza moją obecność w czymś takim ;) Może za rok...:P


Nie musisz mieć skończonych tych 18 lat ;). Popytaj po znajomych albo poszukaj w necie, może ktoś potrzebuje stworzenia strony lub jakiegoś systemu w PHP, C++ :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 28.08.2009 o 23:26, lothar-mb napisał:

Nie musisz mieć skończonych tych 18 lat ;). Popytaj po znajomych albo poszukaj w necie,
może ktoś potrzebuje stworzenia strony lub jakiegoś systemu w PHP, C++ :)


Nie ufam jeszcze swoim zdolnościom programistycznym na tyle, żeby brać odpowiedzialność za poważne aplikacje. A o błędy w C++ nietrudno :P
Na razie ograniczam się do robienia projektów ulotek, plakatów i takich tam drobiazgów :)

O właśnie, korzystając z okazji:
Czy jest jakakolwiek różnica między klasą publiczną, a strukturą? Poza tym, że
class{
public:
};
jest dłuższe od struct{};

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No to mam kilka kolejnych pytań:
a) czy zawsze tworząc klasę muszę definiować destruktor? Bo kod z tego co widzę działa i bez tego.
b) jest jakiś sposób na sprawdzenie wydajności programu? Tzn. często wprowadzam optymalizacje kodu, ale w tym, co obecnie programuję nie daje to zbyt widocznego efektu (1/10 sekundy, czy 1/20 sekundy ^^) i chciałbym mieć dokładne porównanie :) Na razie myślałem o porównywaniu zegara systemowego w momencie rozpoczęcia z tym w momencie zakończenia. Tylko czy nie ma może do tego jakiejś gotowej biblioteki? :)
c) Jak rozbić liczbę na pojedyncze cyfry? Bo w swoim czasie miałem zrobić projekt silni, która przy okazji wyświetla cyfrę jedności i dziesiątek. Poradziłem sobie z tym używając znaczka % (wynik % 10 jako cyfra jedności i (wynik % 100-wynik % 10)/10 jako cyfra dziesiątek. Tylko stosowanie takiego zapisu do np. cyfry milionów wydaje się już średnio efektywne.
d) Istnieje jakiś zbiór liczb większy od long long? Bo np. silnia z 65 (i większe) zwracają mi wartość 0.


Aha, korzystam z C++.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zaznaczam, że nie jestem żadnym wymiataczm, C/C++ to dla mnie czarna magia, ale mam odrobinę pojęcia o samych algorytmach, więc punkty C i D do dzieła

Dnia 09.09.2009 o 21:13, ziptofaf napisał:

c) Jak rozbić liczbę na pojedyncze cyfry? Bo w swoim czasie miałem zrobić projekt silni,
która przy okazji wyświetla cyfrę jedności i dziesiątek. Poradziłem sobie z tym używając
znaczka % (wynik % 10 jako cyfra jedności i (wynik % 100-wynik % 10)/10 jako cyfra dziesiątek.
Tylko stosowanie takiego zapisu do np. cyfry milionów wydaje się już średnio efektywne.

Raczej nic zgrabniejszego tutaj nie wymyślisz. Wymagałoby to utworzenia przez producenta nowej instrukcji procesora, którą wywoływałoby się specjalnym poleceniem, ale sam algorytm zostaje zawsze taki sam. Jest to podstawowy algorytm wykładany od szkoły podstawowej i tego nie przeskoczymy.

Dnia 09.09.2009 o 21:13, ziptofaf napisał:

d) Istnieje jakiś zbiór liczb większy od long long? Bo np. silnia z 65 (i większe) zwracają
mi wartość 0.

Raczej nie ma takiej opcji ze względu na oczywiste ograniczenia procesora. Jak dla mnie musiałbyś utworzyć dwie zmienne i bibliotekę obsługującą działania matematyczne poprzez przenoszenie przepełnienia z jednej zmiennej do drugiej. Rozwiązanie trudne i zapewne dość mocno obciążające procesor. Jedna zmienna zawierałaby wartości bardziej znaczące, a druga mniej znaczące. Dodawanie i odejmowanie byłoby jeszcze dość proste. Pozostałe operacje matematyczne to będzie ... khem, niecenzuralne słowa się sypią ;].

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

I jeszcze cytat, który znalazłem na innym forum:
"Moze sa efektywniejsze sposoby ale mozesz stworzyc wlasny typ danych, w ktorym liczby reprezentowane sa jako stringi, operacje na liczbie pisemnie, po przeciazeniu operatorow w odpowiedni sposob dzialasz na takich liczbach jak na zwyklym typie wbudowanym."

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 27.08.2009 o 19:08, ziptofaf napisał:


http://pl.spoj.pl/ - wymaganie nieduże umiejętności programowania, za to duże logicznego
myślenia :)


Ja polecam także:
http://opss.assecobs.pl/
Akceptują kody do zadań w C/C++ i Pascalu.

Swoją drogą daje dużo satysfakcji rozwiązywanie zadań. :) Np. ja ostatnio zrobiłem takie zadanie stamtąd:
http://opss.assecobs.pl/?menu=comp&sub=prob&comp=0&prob=1005
maximum to 500 jedynek po sobie, ale mój program liczy np. 1 000 000 jedynek po sobie do kwadratu i wypisuje to w czasie poniżej 1 minuty (przy 40% użyciu 1 rdzenia). Większymi liczbami także się nie zadławi :P i zadowala się 7 zmiennymi typu int. Siedziałem nad tym 5-6 godzin, ale satysfakcja gwarantowana ;P Algorytm to full moja robota (pomysł & wykonanie).
Pewnie niektórzy to i napiszą w kwadrans, no ale jakoś się zawsze zaczyna...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 09.09.2009 o 21:13, ziptofaf napisał:

No to mam kilka kolejnych pytań:
a) czy zawsze tworząc klasę muszę definiować destruktor? Bo kod z tego co widzę działa
i bez tego.

Możesz, ale nie musisz :). Nawet konstruktor nie jest obowiązkowy (wtedy zostanie automatycznie wygenerowany konstruktor domyślny).

>b) jest jakiś sposób na sprawdzenie wydajności programu? Tzn. często wprowadzam optymalizacje kodu, ale w >tym, co obecnie programuję nie daje to zbyt widocznego efektu (1/10 sekundy, czy 1/20 sekundy ^^) i >chciałbym mieć dokładne porównanie :) Na razie myślałem o porównywaniu zegara systemowego w momencie >rozpoczęcia z tym w momencie zakończenia. Tylko czy nie ma może do tego jakiejś gotowej biblioteki? :)
Z tego co pamiętam była jakaś biblioteka, ale Twoja metoda IMHO też jest dobra i możesz spróbować jej implementacji.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jak zapisać Tablice wielowymiarowe

do Sesji

kod

$dane=mysqlL_fetch_array($wynik);

session_register($dane);

$_Session[$dane][indextalibcy] =

Coś takiego próbowałem ale nie działa jak należy

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Potrzebna mi pomoc z malym zadani. Jak zapisac ponizsze zadanie w pseudo jezyku:

Przedstaw na algorytm w pseudo jezyku i schemecie blokowym. Który wyświetla na ekranie monitora ''"n" liczb całkowitych w którym każda liczba jest o wieksza od poprzedniej o okreslona wartosc. Wartosc jednego elementu ciagu "m". Ilosc elementow ciagu "n" i roznica miedzy elementami ciagu "r" jest podawane przez uzytkownika podczas dzialania algorytmu. Zrealizuj program za pomoca instrukcji dooki.

Prosze o szybo odpowiedz z gory dziekuje

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mam do zrobienia program który rysuje figurę o szerokości i wysokości podanej przez użytkownika. Zrobiłem go ale w formie która mnie nie satysfakcjonuje a mianowicie figura jest wypełniona "X". Chciałem zrobić aby tylko odcinki było zaznaczone przez "x" a środek pusty ale niestety przerobiony program wariuje. Byłbym wdzięczny za jakąś podpowiedź. Oto kod:

program prostokat;
uses
crt;
var
a,b,c,d,e,f,g:byte;
begin
clrscr;
textcolor(red);
writeln(''Podaj szerokosc i wysokosc prostokata'');
textcolor(green);
write(''Szerokosc prostokata wynosi: '');
textcolor(white);
readln(a);
textcolor(green);
write(''Wysokosc prostokata wynosi: '');
textcolor(white);
readln(b);
f:=a-2;
for c:=1 to b do
begin
d:=0;
g:=0;
repeat
g:=g+1;
if (c=1) or (c=b) then
for e:=1 to a do write(''x'')
else
begin
write(''x'');
for e:=1 to f do write('' '');
write(''x'');
end;;
until g=a;
writeln;
end;
writeln(''Dziekuje za uzycie mojego programu'');
readln;
end.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

program prostokat;
uses
crt;
var
a,b,i,j:byte;
begin
clrscr;
textcolor(red);
writeln(''Podaj szerokosc i wysokosc prostokata'');
textcolor(green);
write(''Szerokosc prostokata wynosi: '');
textcolor(white);
readln(a);
textcolor(green);
write(''Wysokosc prostokata wynosi: '');
textcolor(white);
readln(b);
for i:=1 to b do
begin
for j:=1 to a do
begin
if (i=1) or (j=1) or (i=b) or (j=a) then write(''X'')
else write('' '');


end;
writeln(); {przeskoczenie do następnego wiersza}

end;

write();
end.


Kluczowy jest pogrubiony warunek, który sprawdza czy znak który rysujemy jest krawędzią - jeśli tak, wypisuje "X", jeśli nie, wstawia spację. Reszta chyba jest dość oczywista. ;]

PS: Spoiler służy do umieszczania spojlerów, i tylko do tego.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No to ja mam takie nietypowe pytanie dot. C++. Mianowicie robię program, który najpierw wczytuje liczbę tablic/wektorów do stworzenia, potem ich wielkość, a potem same wartości wewnątrz. I pojawia mi się problem - mianowicie jak generować te kolejne wektory? Bo chyba nie da się ich w żaden sposób nazwać, więc pozostają mi chyba tylko new i wskaźniki. No i ja niestety jestem dość beznadziejny w tej dziedzinie - czy jedynym sposobem byłoby stworzenie też dodatkowej tablicy int przechowującej adresy każdego z tych wektorów)? Czy może jednak jest prostsze rozwiązanie niewymagające takiej zabawy?

Program (a dokładniej potrzebny mi wycinek) powinien wyglądać przykładowo mniej więcej tak:
Podaj liczbę tablic:
3
Podaj rozmiar tablicy 1:
3
1 2 3
Podaj rozmiar tablicy 2:
2
1 5
Podaj rozmiar tablicy 3:
5
1 3 4 6 9

Aha, tablice dwuwymiarowe w żaden sposób nie rozwiązują mojego problemu - każda z nich ma te same rozmiary, a u mnie, jak widać, są one różne.
I jeszcze jedno pytanie - jak się robiło wskaźnik na wektor/tablicę? I jak w tym momencie wprowadzać do niej wartości?
Z góry dzięki za odpowiedzi :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Korzystam z Visual C# 2008 Express i jestem początkującym :)
Czy istnieje funkcja obliczająca silnie z danej liczby? Sprawdzałem w Math ale nie widzę.
Wiem, że mogę napisać kawałek kodu, który będzie to obliczał, ale nie chce niepotrzebnie wydłużać sobie programu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 04.11.2009 o 14:04, scooby01 napisał:

Korzystam z Visual C# 2008 Express i jestem początkującym :)
Czy istnieje funkcja obliczająca silnie z danej liczby? Sprawdzałem w Math ale nie widzę.
Wiem, że mogę napisać kawałek kodu, który będzie to obliczał, ale nie chce niepotrzebnie
wydłużać sobie programu.


Niestety nie udało mi się nigdy w MSDN''ach znaleźć jak obliczyć silnię, ale jako rozwiązania dla tzw. Factorial Functions [silni] podaje się prościutką funkcję:

public long Factorial(long x)
{
long fact = 1;
long i = 1;
while (i <= x)
{
fact = fact * i;
i++;
}
return fact;
}


Kod jest banalny i krótki więc łatwo powinieneś sobie z nim poradzić ;-).
Jak już mówiłem - niestety prawdopodobnie będziesz musiał go zaimplementować do programu w takiej bądź podobnej formie, gdyż funkcji wbudowanej niestety nie ma :[.
Jeżeli się mylę to proszę mnie oświecić, ale już nie raz potrzebowałem obliczyć silnię w swoich programach i musiałem korzystać z tego.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Utwórz konto lub zaloguj się, aby skomentować

Musisz być użytkownikiem, aby dodać komentarz

Utwórz konto

Zarejestruj nowe konto na forum. To jest łatwe!


Zarejestruj nowe konto

Zaloguj się

Masz już konto? Zaloguj się.


Zaloguj się
Zaloguj się, aby obserwować