Implementacje algorytmów, struktur danych w języku C/C++. Drzewa binarne,listy jednokierunkowe,dwukierunkowe,tablice dynamiczne, wskaźniki.
wtorek, 29 grudnia 2009
Wygrywaj nagrdoy za darmo !!!!!!!
sobota, 26 grudnia 2009
Play Station 2 SLIM OKAZJA STAN IDEALNY Z przeróbką
czwartek, 24 grudnia 2009
Implementacja listy dwukierunkowej w języku C++ (obiektowo)
using namespace std;
class node{
public:
int value;
class node *next;
class node *prev;
node(int v){ //konstruktor
value=v;
}
};
class node *head=NULL;
class node *element=NULL;
class node *temp=NULL;
class node *push(class node *head, int val)
{
if(head==NULL)
{
head =new node(val); // nowy obiekt klasy node
//head->value=val;
head->prev=NULL;
head->next=NULL;
temp=head;
return head;
}else{
element=new node(val);
//element->value=val;
element->prev=temp;
temp->next=element;
element->next=NULL;
temp=element;
}
}
void show(class node *head){
while(head!=NULL){
cout<<(head->value)<<"\n";
head=head->next;
}
}
int main(){
int value;
for(int i=0;i<10;i++)
{
head=push(head, i);
}
show(head);
}
sobota, 14 listopada 2009
niedziela, 1 listopada 2009
Jak ZA darmo doładować konto w telefonie
WYSTARCZY SIĘ ZAREJESTROWAĆ PONIŻEJ : DZIAŁA
http://darmowe-doladowania.com/
wtorek, 29 września 2009
Implementacja listy jednokierunkowej bez "->"
#include#include #include struct lista{ int key; struct lista *next; }; struct lista *head=NULL; struct lista *tmp=NULL; struct lista *element=NULL; struct lista *push(struct lista *head,int x){ if(head==NULL){ head=(struct lista*)malloc(sizeof(struct lista)); tmp=(struct lista*)malloc(sizeof(struct lista)); (*head).key=x; (*head).next=NULL; //head->key=x; //head->next=NULL; tmp=head; }else{ element=(struct lista*)malloc(sizeof(struct lista)); (*element).key=x; //element->key=x; (*element).next=NULL; //element->next=NULL; //tmp->next=element; (*tmp).next=element; tmp=element; } return head; } void wyswietl(struct lista *head){ while(head){ //printf("%d",(*head).key); printf("%d", (*head).key); (head)=(*head).next; } } int main(){ system("cls"); int x; int n; printf("Ile elementow dodac \n"); scanf("%d",&n); for(int i=0;i<(n);i++){ scanf("%d",&x); head=push(head,x); } wyswietl(head); }
O co mi chodzi,,
Chodzi mi o to, aby język giętkiPowiedział wszystko, co pomyśli głowa:A czasem był jak piorun jasny, prędki,A czasem smutny jako pieśń stepowa,A czasem jako skarga nimfy miętki,A czasem piękny jak aniołów mowa...Aby przeleciał wszystka ducha skrzydłem.Strofa być winna taktem, nie wędzidłem.
środa, 23 września 2009
wtorek, 22 września 2009
Implementacja listy dwukierunkowej cyklicznej C
#include#include struct listacykl { int key; struct listacykl *next,*prev; }*head=NULL,*element=NULL,*temp=NULL; void dodaj(struct listacykl *&head,int x){ { if(head==NULL) { head=(struct listacykl*)malloc(sizeof(struct listacykl)); head->key=x; head->next=head; head->prev=head; } else{ if(element==NULL) { element=(struct listacykl*)malloc(sizeof(struct listacykl)); element->key=x; head->next=element; element->prev=head; element->next=head; head->prev=element; temp=element; } else{ element=(struct listacykl*)malloc(sizeof(struct listacykl)); element->key=x; temp->next=element; element->prev=temp; element->next=head; head->prev=element; temp=element; } } } } void show(struct listacykl *head) { struct listacykl *glowa; glowa=head; printf("%d ",head->key); head=head->next; while(head!=glowa){ printf("%d ",head->key); head=head->next; } } int main(){ int i,x,n; printf("\n------------Lista dwukierunkowa cykliczna------------\n\n\n"); printf("Ile elementow ma zawierac lista n= "); scanf("%d",&n); printf("Podawaj elementy \n"); for(i=1;i<=n;i++) { printf("element nr. %d = ",i); scanf("%d",&x); dodaj(head,x); } printf("\n------------------------\n"); show(head); printf("\n------------------------\n"); printf("\n\n"); system("PAUSE"); }
poniedziałek, 21 września 2009
Test Windows 7 pl wersja 7600
sobota, 19 września 2009
Prosty szyfrator pliku txt cz_1
czwartek, 10 września 2009
Jak usunąć śledzika na naszej klasie
niedziela, 6 września 2009
Konwertowanie liczby dziesiętnej na binarną
czwartek, 27 sierpnia 2009
Zdjęcia z mojego telefonu
wtorek, 11 sierpnia 2009
Zaczynamy
Jak skutecznie uczyć się programowania.
Programowanie nie jest rzeczą dla wybrańców , każdy przy odrobinie wysiłków może się tego nauczyć. Najbardziej skuteczną metodą na opanowanie danego języka są ćwiczenia. Tylko w taki sposób możemy nauczyć się składni , a także kreatywnego myślenia ,które jest niezbędne w pracy każdego programisty. Odradzam wszystkim ,którzy zamierzają podjąć się tego zadania aby nigdy nie przepisywali gotowego kodu bezmyślnie do kompilatora, ponieważ w ten sposób nie nauczą się programować ,a także nawet nie opanują składni danego języka. W tym kursie proponuje każde zadanie rozwiązywać na kartce papieru , potem jeśli jesteśmy pewni ,że nasz program działa poprawnie przepisujemy nasz kod do komputera. Natknąłem się na wiele kursów w sieci ale według mnie są mniej czy bardziej bezużyteczne, ponieważ brak w nich jest zadań do samodzielnego rozwiązywania. Pamiętaj ćwiczenie czyni mistrza.
Podstawy.
Do dalszych działań niezbędny będzie Ci kompilator to dzięki niemu powstanie Twój program. Co to właściwie jest kompilator?? Najprościej mówiąc jest to program ,który tłumaczy nasz kod w sposób zrozumiały dla komputera. Jak wiadomo komputer rozumie tylko liczby binarne czyli ciąg jedynek ‘1’ i zer ‘0’ . Jest to kod maszynowy na , który jest zmieniany nasz kod przez kompilator. Istnieje wiele kompilatorów języka C do pobrania z Internetu. Proponuje w tym kursie do używania jednego z najbardziej popularnych i darmowych kompilatorów języka C - Dev-C++. Czas wziąć się do pracy i napisać nasz pierwszy program. Nasz pierwszy program będzie wyświetlał na naszym ekranie słynne już zdanie: ”Hello Word !”. Oto jak będzie wyglądał kod naszego skromnego programu:
#include
int main(){
printf("Hello World !");
system("PAUSE");
}
Na pierwszy rzut oka może to się wydawać trochę straszne. Omówmy kolejne linijki kodu. Polecenie #include
Pora teraz napis ać nasz program na komputerze . Spróbujmy samemu bez bezmyślnego przepisywania napisać nasz program następnie po naciśnięciu klawisza nastąpi proces kompilacji naszego kodu , a następnie uruchomienie programu. Jak widzimy nasz program działa poprawnie . Jednak po naszym słowie występuje napis: Aby kontynuować, naciśnij dowolny klawisz… Jest polecenie , za które odpowiada system(”PAUSE”); , czyli przed natychmiastowym zamknięciu konsoli. Spróbujmy napisać nasz program w taki sposób ,aby napis : ” Aby kontynuować, naciśnij dowolny klawisz…” znajdował się pod: „Hello Word !” W tym celu zmodyfikujmy naszą funkcje printf.
#include
#include
int main(){
printf("Hello World !\n"); \\ Jak widzimy po naszym zdaniu występuje znak „\n” ,nowej linii czyli
system("PAUSE");
}
Znak \n jest znakiem specjalnym, oto kilka znaków specjalnych dostępnych w C :
\a – Alarm – sygnał dźwiękowy
\b – cofnięcie jedno miejsce w tekście (backspace)
\f – przejście na początek nowej strony
\n – ustawienie kursora w nowym wierzy (załamanie teksu)
\r - Przejście na początek aktualnego wiersza
\t - Przejście do następnej pozycji w tabulacji linii
\\ - Znak backslash
\” – Znak „
\? – znak ?
Spróbuj napisać około 20 programów wyświetlających tekst : „Jestem zajebisty” z użyciem znaków specjalnych zobacz jak będzie zmieniać się Twój napis w zależności od miejsca , w którym wstawisz znak specjalny.
Teraz spróbuj napisać samemu ten program oczywiście nie staraj się go przepisywać w miarę możliwości staraj działać samodzielnie pozwoli Ci to opanować składnie języka. Jako pierwszą pracę domową napisz 2 programy.(Pamiętaj najpierw na kartce !!! ).
1. Program ,który będzie wyświetlał napis:
W
i
t
a
j
!
2. Program ,który będzie wyświetlał napis:
P r o g r a m u j e
w
ANSI
C.
3. Program ,który będzie wyświetlał napis:
Jes
tem mł odym pro
gramistą :) !!!
! !
Czas na napisanie drugiego programu . Nasz program teraz będzie wyświetlał na ekranie liczbę podaną przez użytkownika. O to kod naszego programu :
#include
int main(){
int n;
printf("Podaj liczbe \n");
scanf(“%d”,&n);
printf(“Liczba podana przez ciebie to %d !!!!\n”,n);
system("PAUSE");
}
Widzimy ,że w nowy program jest bardziej „skomplikowany” . Pojawia się tu nowa instrukcja „int n” , int jest to jeden z podstawowych typów danych języka C. Dane typu int przechowują jedynie liczby całkowite ze znakiem. Literka „n” jest to zmienna typu int, która będzie przechowywać naszą liczbę. Więc kompilator zarezerwuje pamięć dla naszej liczby. W zależności jaki kompilatorem się posługujemy zostanie zarezerwowane 2 lub 4 bajty. Dalej występuje znana nam już funkcja printf, która wysyła tekst „Podaj liczbe” .
Nową funkcję jaką tu widzimy jest funkcja scanf , która odczytuje dane zgodnie z podanym formatem. Format danych podajemy umieszczając w cydzusłowie znak %d, który oznacz ,że będą to liczby całkowite. Funkcja ta może przyjmować ,także dane typu zmiennoprzecinkowego czyli float.
Format Typ
%d int – liczby całkowite np. 100 ; 4 ; -234
%f float – liczby zmiennoprzecinkowe np. -234.34; 3.35; 0.523
%s char – strumień znaków np. Ala ma kota
Funkcja scanf przyjmuje wskaźnik &(czytaj ampersand) do zmiennej n typu int(całkowitego). Wskaźnik jest zmienną , która przechowuje adres zmiennej czyli jej „położenie” w pamięci komputera. O wskaźnikach opowiemy później. W naszej funkcji mamy wskaźnik do zmiennej n , którą wcześniej zadeklarowaliśmy. Najprościej mówiąc wskaźnik mówi naszej funkcji gdzie w pamięci będzie umieszczona nasza liczba. Mówiąc bardziej obrazowo zadeklarowaliśmy zmienną n typu int aby zarezerwować pamięć dla naszej liczby. (Pod literką n będzie kryła się nasza liczba to już dla tych co nie rozumieją :D ). Przyjrzyjmy się teraz funkcji printf różni się teraz troszkę od funkcji użytej w naszym pierwszym programie. Jej budowa jest analogiczna do funkcji scanf . Funkcja wyświetla napis: „ Liczba podana przez ciebie to n”
Jako n przyjmujemy wcześniej wprowadzoną liczbę. Występujący format %d „mówi” funkcji, że wyświetlana liczba będzie typu całkowitego.
printf(“Liczba podana przez ciebie to %d !!!!\n”,n);
- funkcja wypisuje ciąg znaków kiedy trafia na znak %d sprawdza co za nim się znajduje u nas jest to literka d, czyli w tym miejscu gdzie występuje znak będzie wstawiona liczba (całkowita ), którą funkcja bierze po „przecinku ” z n , potem funkcja wypisuje ciąg znaków znajdujących się za %d czyli „ !!!!\n ” . Napiszmy program , który będzie wyświetlał dwie liczby jedną zmiennoprzecinkową , a druga całkowitą.
#include
int main(){
float m;
int n;
printf("Podaj liczby \n");
scanf(“%f ”,&m);
scanf(“%d ”,&n);
printf(“Liczby podane przez ciebie to %f oraz %d !!!!\n”,m,n);
system("PAUSE");
}
printf(“Liczby podane przez ciebie to %f oraz %d !!!!\n”,m,n);
- funkcja wypisuje ciąg znaków kiedy trafia na znak % sprawdza co za nim się znajduje u nas jest to literka f, czyli w tym miejscu gdzie występuje znak będzie wstawiona liczba (typu zmiennoprzecinkowego ), którą funkcja bierze po „przecinku ” z m , potem funkcja wypisuje ciąg znaków znajdujących się za %f czyli „ oraz ” i natrafia na %d czyli w tym miejscu będzie wstawiona liczba typu całkowitego , która funkcja bierze po drugim przecinku z n. Napiszmy program , który będzie wyświetlał pole prostokąta.
#include
#include
int main(){
float a;
float b;
float wynik;
printf("Podaj bok a\n");
scanf(“%f ”,&a);
printf("Podaj bok b\n");
scanf(“%f ”,&b);
wynik=a*b;
printf("Pole wynosi %f",wynik);
system("PAUSE");
}