Glapa Napisano 5 Listopada 2009 Udostępnij Napisano 5 Listopada 2009 Ok, dopiero zaczynam "zabawę" z C++ i utknąłem przy takim zadaniu. Chodzi mi tylko wskazówkę, jak zacząć: Dana jest zmienna w = -63. Wykorzystując operatory przesunięcia bitowego - w lewo (<<) oraz w prawo (>>), obliczyć w1 = w ∗ 4 oraz w2 = w / 8. Wyprowadzić zmienne w1 i w2 w postaci dziesiętnej i szesnastkowej. pierwsza część jest prosta << to inaczej *2, a >> to inaczej /2. Musisz wykonać operację przesunięcia w lewo (<<) dwa razy, a w prawo (>>) trzy. W dziesiętnej to raczej nie problem bo używasz cout<<w1<<" "<<w2; natomiast jeśli chodzi o postać szesnastkową cout.setf(ios::hex,ios::basefield); if(w1<0) { w1=w1*(-1); cout<<"-"<<w1; } else { cout<<w1; } i powtarzasz to dla w2 P.S zakładam że w1 i w2 są całkowite (int). A teraz pytanie ode mnie. Piszę program w javie na pojemniki i ambitnie mam coś takiego: package baza0; import javax.swing.*; import java.util.*; class Osoba { String imie=""; String nazwisko=""; float srednia=0; int indeks=0; public void Nadaj_imie(String imie_) { imie=imie_; } public String Podaj_imie() { return imie; } public void Nadaj_nazwisko(String nazw_) { nazwisko=nazw_; } public String Podaj_nazwisko() { return nazwisko; } public void Nadaj_srednia(float srednia_) { srednia=srednia_; } public float Podaj_srednia() { return srednia; } public void Nadaj_indeks(int indeks_) { indeks=indeks_; } public int Podaj_indeks() { return indeks; } public String OsobatoString() { String napis=""; napis+="Imię: "+imie; napis+="\nNazwisko: "+nazwisko; napis+="\nŚrednia: "+srednia; napis+="\nNumer indeksu: "+indeks; return napis; //zwraca dane zamienione na napis } public boolean Szukaj(String S1,String S2) { return (imie.equals(S1)&&nazwisko.equals(S2)); } } class Tablica { Osoba Dane[]=null; int ile=0; public boolean Pusta() { return ile==0; } public boolean Pelna() { return ile==Dane.length; } public int Podaj_ile() { return ile; } public void alokuj_tablice(int N) { ile=0; Dane=new Osoba[N]; //utworzenie tablicy } public void Wstaw(String imie_,String nazwisko_,float srednia_,int indeks_) { Osoba dana=new Osoba(); //tworzy aktualną osobę dana.Nadaj_imie(imie_); dana.Nadaj_nazwisko(nazwisko_); dana.Nadaj_srednia(srednia_); dana.Nadaj_indeks(indeks_); Dane[ile]=dana; //wstawia na odpowiednią pozycję wpisane dane ile++; } public Osoba Wyszukaj(String S1,String S2) { for(int i=0;i<ile;i++) { if (Dane[i].Szukaj(S1,S2)) { return Dane[i]; } } return null; //zwraca 0 jak nie znalazlo } public String TablicatoString() { String S=""; for(int i=0;i<ile;i++) { S+=Dane[i].OsobatoString()+"\n"; } return S; //zwraca zawartość całej tablicy } } public class Baza0 { protected Tablica tablica=new Tablica(); public void Wyswietl() { if (tablica.Pusta())//jesli tablica nie istnieje, to nie można wyswietlac { JOptionPane.showMessageDialog(null,"Brak danych"); } else { JOptionPane.showMessageDialog(null,tablica.TablicatoString()); } } public void Wypelnij() { String S1,S2,S3,S4; S1=JOptionPane.showInputDialog(null,"Podaj rozmiar tablicy"); int N=Integer.parseInt(S1); tablica.alokuj_tablice(N); //utworzenie tablicy while(!tablica.Pelna()) //jeśli tablica jest zapełniona, tak jest równe false { S1=JOptionPane.showInputDialog(null, "Podaj imię"); S2=JOptionPane.showInputDialog(null, "Podaj nazwisko"); S3=JOptionPane.showInputDialog(null, "Podaj średnią"); S4=JOptionPane.showInputDialog(null, "Podaj nr indeksu"); tablica.Wstaw(S1,S2,Float.parseFloat(S3),Integer.parseInt(S4));//dopisanie danych na końcu danych } } public void Wyszukaj() { if (tablica.Pusta())//jesli tablica nie istnieje, to nie można wyszukać { JOptionPane.showMessageDialog(null,"Brak danych"); } else { String S1=JOptionPane.showInputDialog(null,"Podaj Imię"); String S2=JOptionPane.showInputDialog(null,"Podaj Nazwisko"); Osoba osoba=tablica.Wyszukaj(S1,S2); if(osoba!=null) { JOptionPane.showMessageDialog(null,osoba.OsobatoString()); } else { JOptionPane.showMessageDialog(null,"Nic nie znalazłem!", "Błąd", 0); } } } static public void main(String args[]) { Baza0 baza=new Baza0(); //referencja do tablicy, która jest tworzona w opcji 1 char a; String S; do { S=JOptionPane.showInputDialog(null, "Progam nie jest zabezpieczony przed\n" + "złym formatem danych\n i naciskaniem Cancel w okienkach dialogowych\n"+ "Podaj wybor"+ "\n1 - Wypelnij tablice,"+ "\n2 - Wyswietl dane osob"+ "\n3 - Wyszukaj osobe i wyswietl jej dane"+ "\nk - Koniec programu"); a=S.charAt(0); //pobranie opcji switch(a) { case '1': baza.Wypelnij(); break; case '2': baza.Wyswietl(); break; case '3': baza.Wyszukaj(); break; case 'k': JOptionPane.showMessageDialog(null, "Koniec programu"); break; default : JOptionPane.showMessageDialog(null,"Zla opcja"); } }while(a!='k'); System.exit(0); } } Moje pytanie brzmi: Jeżeli dodam Osoba nastepny; do klasy Osoba i później jak będę usuwał powiedzmy element Tablica Dane[3]; wykonując: Tablica Dane[2].nastepny=Dane[4]; Dane[3]=null; , to czy ta tablica obiektów klasy Osoba będzie widziała nowy układ czy muszę zrobić to na samych referencjach do kolejnych obiektów lub przenosząc ostatni element i usuwając go? Cytuj Odnośnik do komentarza
Fenomen Napisano 6 Listopada 2009 Udostępnij Napisano 6 Listopada 2009 tablice maja to do siebie ze sa statyczne, wiec moze byc z tym problem proponowalbym zamiast tego uzyc listy wiazanej (LinkedList) ktora opiera sie wlasnie na samych referencjach: z dowolnego elementu w takiej liscie mozna sie odwolac tylko do poprzedniego i do nastepnego, dzieki czemu latwo potem odpowiednio zamieniac referencje przy usuwaniu elementu z listy Cytuj Odnośnik do komentarza
Anderwalius Napisano 22 Listopada 2009 Udostępnij Napisano 22 Listopada 2009 Ja mam problem z banalnymi zadaniami, tylko proszę się nie śmiać, dopero zaczynam zabawę z C++. 1) Napisz funkcję sprawdzającą ile różnych liter 'a'-'z' występuje więcej niż jeden raz w 200-elementowej tablicy znaków podawanej jako dane wejściowe tej funkcji. 2) Napisz funkcję, która sprawdzi czy tablica N liczb rzeczywistych (podawana jako parametr funkcji) ma symetryczną zawartość tzn. czy element pierwszy jest równy ostatniemu, drugi – przedostatniemu, itd. 3) Napisz funkcję wczytującą znaki z klawiatury tak długo, aż zostaną podane trzy kolejne znaki o takich samych kodach. Cytuj Odnośnik do komentarza
Misiek Napisano 26 Listopada 2009 Udostępnij Napisano 26 Listopada 2009 Problemik z obiektowym C++, kod: // owoc.cpp #include "owoc.h" #include <iostream> using namespace std; Owoc::Owoc(int waga) { this->waga=waga; } int Owoc::podaj_wage() { return waga; } // owoc.h #ifndef OWOC_H #define OWOC_H #include <iostream> #include <sstream> #include <string> using namespace std; class Owoc { protected: int waga; public: Owoc(int waga); int podaj_wage(); virtual string przedstaw_sie() = 0; }; #endif // OWOC_H // jablko.cpp #include "jablko.h" #include <iostream> #include <sstream> #include <string> using namespace std; Jablko::Jablko(string imie) : Owoc (waga) { this -> imie=imie; } string Jablko::przedstaw_sie() { ostringstream nazwa; nazwa << imie; imie=nazwa.str(); cout<<"Nazywam sie"<<imie<<endl; } // jablko.h #ifndef JABLKO_H #define JABLKO_H #include "owoc.h" #include <iostream> #include <sstream> #include <string> #include <cstdlib> using namespace std; class Jablko : public Owoc { private: string imie; public: Jablko(string imie, int waga); virtual string przedstaw_sie(); }; #endif // JABLKO_H wyskakują mi błędy: jablko.cpp:7: error: prototype for `Jablko::Jablko(std::string)' does not match any in class `Jablko' jablko.h:12: error: candidates are: Jablko::Jablko(const Jablko&) jablko.h:17: error: Jablko::Jablko(std::string, int) edyta dodaje, że jeszcze może się przydać: // kosz.h #ifndef KOSZ_H #define KOSZ_H #include <vector> #include "gruszka.h" #include "jablko.h" using namespace std; class Kosz { private: vector<Owoc *> owocki; public: Kosz(int ile_g); void start(int ile); ~Kosz(); }; #endif // KOSZ_H // kosz.cpp #include "kosz.h" #include <iostream> using namespace std; Kosz::Kosz(int ile_g) { owocki.push_back(new Jablko("Jablko"),5); for (int i=0; i<ile_g; i++) { owocki.push_back(new Gruszka("Gruszka"),1+i); } } void Kosz::start(int ile) { for (int i=0; i<owocki.size(); i++) { przedstaw_sie(owocki[i]); } } // main.cpp #include <cstdlib> #include <iostream> #include "kosz.h" using namespace std; int main(int argc, char *argv[]) { Kosz kosz(2); kosz.start(4); system ("Pause"); } Cytuj Odnośnik do komentarza
Fenomen Napisano 29 Grudnia 2009 Udostępnij Napisano 29 Grudnia 2009 porzebuje zrobic w Logo! Soft Comfort regulator grzejnika : dla zadanej temperatury regulator albo wlacza grzejnik co powoduje wzrost temperatury, albo nie wlacza, co z kolei implikuje stały spadek (stygniecie) ktos pracowal w tym jezyku (narzedziu) i robil cos podobnego? Cytuj Odnośnik do komentarza
wesol Napisano 25 Kwietnia 2010 Udostępnij Napisano 25 Kwietnia 2010 Witam. Mam problem z prostym algorytmem: http://i42.tinypic.com/34g0fx3.jpg Wpisuje liczby i zawsze wychodzi mi złe x1 i x2. Ma ktoś jakis pomysł co z tym zrobić? Edit: Poradziłem sobie :] Cytuj Odnośnik do komentarza
xemi Napisano 21 Maja 2010 Autor Udostępnij Napisano 21 Maja 2010 Witam. Mam takie pytanie. Zainstalowalem sobie na kompie Oracle Database 10g Express Edition, zeby w tym cos robic przegladarka laczy sie z adresem: http://127.0.0.1:8080/apex Moje pytanie jest takie, jak polaczyc sie z ta baza danych z C#? Cytuj Odnośnik do komentarza
Gietz Napisano 23 Maja 2010 Udostępnij Napisano 23 Maja 2010 Jestem absolutnie zielony, nawet nie wiem czy to pasuje do tematu ... Czy ktoś z forum zajmuje się/umie wyjaśnić działanie LaTeX Editora? Przekracza mnie zmiana kodu w wyświetlany na ekranie tekst, obraz. Cytuj Odnośnik do komentarza
Fenomen Napisano 23 Maja 2010 Udostępnij Napisano 23 Maja 2010 dosc dobry tutorial do latexa: http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/ Cytuj Odnośnik do komentarza
jasonx Napisano 5 Czerwca 2010 Udostępnij Napisano 5 Czerwca 2010 CREATE PROCEDURE dbo.PracownikMiejscowosc @Par_Miejscowosc varchar(25) = '', @Par_LiczbaN int AS BEGIN SELECT TOP (@Par_LiczbaN) WITH TIES dbo.Pracownik.Miejscowosc, COUNT(*) AS [Liczba pracownikow] FROM dbo.Pracownik WHERE Miejscowosc LIKE '%' + @Par_Miejscowosc + '%' GROUP BY Miejscowosc ORDER BY [Liczba pracownikow] DESC, Miejscowosc ASC; END GO Niech mi któs powie, czemu działa mi TOP, ale WITH TIES juz nie? Execute dbo.PracownikMiejscowosc '','2' GO Powinno dac mi: Wrocław 3 Trzebnica 1 Wieluń 1 a daje Wrocław 3 Trzebinca 1 Any ajdijas? Cytuj Odnośnik do komentarza
frodo Napisano 6 Czerwca 2010 Udostępnij Napisano 6 Czerwca 2010 Jestem absolutnie zielony, nawet nie wiem czy to pasuje do tematu ... Czy ktoś z forum zajmuje się/umie wyjaśnić działanie LaTeX Editora? Przekracza mnie zmiana kodu w wyświetlany na ekranie tekst, obraz. Po polsku jest taki podręcznik "Nie za krótkie wprowadzenie do systemu Latex" - Link, jak sam tytuł wskazuje trochę tam informacji jest ;] Hmm, Latex Editor to konkretny program, edytor, w sumie dość prosty, korzystałem z niego kilka lat, więc pytaj o co dokładnie chodzi. Edit: Jeżeli to jeszcze aktualne ;) Cytuj Odnośnik do komentarza
jasonx Napisano 22 Czerwca 2010 Udostępnij Napisano 22 Czerwca 2010 CREATE TABLE STUDENT (ID_Student NOT NULL; -- to jest PK PESEL char(11) NULL ; IMIE varchar(20) NOT NULL; NAZWISKO varchar(30) NOT NULL ) To jest w 3NF czy nie?? Tylko prosze o nie zgadywanie. Niech odpowie ktos, kto ma pewnosc Cytuj Odnośnik do komentarza
Fenomen Napisano 12 Lipca 2010 Udostępnij Napisano 12 Lipca 2010 zaczynam sie uczyc c++ bo bede w nim robic pewien projekt ;] niestety zatrzymalem sie przy probie implementacji listy z iteratorem... w projekcie mam trzy pliki: lista.h, iterator.h i program.cpp - w lista.h jest definicja klasy odpowiadajacej za konstrukcje listy; #ifndef DLISTA_H_ #define DLISTA_H_ #include "iteratorL.h" template <class typ> class iteratorL; template <class typ> class DLista { struct wezel { typ * wsk; wezel * nastepca; wezel * poprzednik; wezel() : nastepca(NULL), poprzednik(NULL), wsk(NULL) {} }; wezel * pierwszy; wezel * ostatni; int dlugosc; public: typedef iteratorL<typ> itLis; DLista(); ~DLista(); void wstaw(typ & obj, itLis & iter); void wstaw(typ & obj, int nr); void wstaw(typ & obj); void usun(itLis & iter); void usun(int nr); int rozmiar() const; // tu sa definicje tych funkcji... private: void daje_na_poczatek(wezel * nowy, itLis & iter); void daje_w_srodku(wezel * nowy, itLis & iter); void daje_na_koniec(wezel * nowy); void usuwam_pierwszy(itLis & iter); void usuwam_ostatni(itLis & iter); void usuwam_ze_srodka(itLis & iter); friend ostream & operator << (ostream & stru, DLista<typ> & x); friend class iteratorL<typ>; // tu sa definicje tych funkcji... }; iterator.h to klasa zawierajaca opis iteratora: #ifndef ITERATORL_H_ #define ITERATORL_H_ #include "DLista.h" template <class typ> class DLista; template <class typ> class iteratorL { friend class DLista<typ>; DLista<typ> & pojemnik; DLista<typ> :: wezel * wybrany; public: // rozne ciekawe funkcje }; #endif /* ITERATORL_H_ */ I jest problem z linijka: DLista<typ> :: wezel * wybrany; mianowicie w pliku iterator.h kompilator nie widzi obiektu tej prywatnej struktury klasy lista.h; zastrzegam ze modyfikator dostepu 'public' nie pomogl :| jak sobie z takim problemem poradzic? Cytuj Odnośnik do komentarza
Misiek Napisano 12 Lipca 2010 Udostępnij Napisano 12 Lipca 2010 musisz zdaje się zainkludować jeszcze Dlista.h w pliku cpp, pomimo, że masz go w iterator.h, pamiętam, że miałem podobny problem, jak będę w domu (czyli koło 23) to zerknę w swój projekt, bo może jeszcze trzeba na coś zwrócić uwagę. Cytuj Odnośnik do komentarza
Glapa Napisano 12 Lipca 2010 Udostępnij Napisano 12 Lipca 2010 musisz zdaje się zainkludować jeszcze Dlista.h w pliku cpp, pomimo, że masz go w iterator.h, pamiętam, że miałem podobny problem, jak będę w domu (czyli koło 23) to zerknę w swój projekt, bo może jeszcze trzeba na coś zwrócić uwagę. Ten zabieg nie pomoże, ponieważ błąd pojawia się w pliku nagłówkowym. I jest problem z linijka: DLista<typ> :: wezel * wybrany; Proponuję przyzwyczaić się do opisywania wskaźników bez białego znaku po typie lub przed nazwą zmiennych (metoda formatowania C/C++). Wydaje mi się, że problem stanowi odwołanie do węzła poprzez operator '::'. Spróbuj zamiast niego użyć: DLista<typ>.wezel *wybrany; Cytuj Odnośnik do komentarza
Fenomen Napisano 12 Lipca 2010 Udostępnij Napisano 12 Lipca 2010 ten zapis daje nastepujacy blad: ..\src\iteratorL.h:12: error: expected unqualified-id before '.' token z reszta probowalem go zanim tu napisalem posta... Cytuj Odnośnik do komentarza
Fenomen Napisano 24 Lipca 2010 Udostępnij Napisano 24 Lipca 2010 takie pytanie: jak w c++ z wartosci piksela pobrac jego skladowe (r, g, b) ? potrzebuje tego do transformacji obrazu do skali szarosci przez usrednienie wartosci pikseli probowalem czegos takiego z przesunieciem bitowym (gdzies wygooglane) ale nie chce dzialac int Testing::grayscaleByAverage() { unsigned char* imgSrc = image->GetBits(); //zrodlo obrazu unsigned char* processedImg = new unsigned char[image->GetSize()]; int widthImg = image->GetWidth(); int heightImg = image->GetHeight(); int red, green, blue, overall, average; for(int y = 0; y < heightImg; y++) { for(int x = 0; x < widthImg; x++) { overall = imgSrc[x*y]; red = (overall >> 16) & 0xff; green = (overall >> 8) & 0xff; blue = overall & 0xff; average = (red + green + blue) / 3; processedImg[x*y] = (unsigned char) blue; } } processedImage -> SetBits(processedImg); return 0; } Cytuj Odnośnik do komentarza
Fenomen Napisano 28 Października 2010 Udostępnij Napisano 28 Października 2010 czy ktos ma jakies doswiadczenia z praca z biblioteka cxImage? potrzebuje pomocy w obsludze tego Cytuj Odnośnik do komentarza
jasonx Napisano 5 Listopada 2010 Udostępnij Napisano 5 Listopada 2010 Pytanko z T-SQLa SELECT Pracownik.Nazwisko + ' ' + Pracownik.Imie AS [Dane Pracownika], Pracownik.Ulica + ' ' + Pracownik.NrDomu + '/' + Pracownik.NrLokalu AS [DaneTeleadresowe] FROM dbo.Pracownik I teraz tak - jesli NRLokalu jest NULL, to i tak mi wypisze ten separator '/'. Jak wstawic IFa do tego selecta (wzglednie inne rozwiazanie), zeby w przypadku, kiedy Pracownik.NrLokalu = NULL zamiast '/' do stringa przekazywane było ''. EDYTA (CASE WHEN (Pracownik.NrLokalu <> 0) THEN '/' ELSE '' END) załatwiło sprawe Cytuj Odnośnik do komentarza
jasonx Napisano 29 Grudnia 2010 Udostępnij Napisano 29 Grudnia 2010 Pytanie do obeznanych w MATLABIE/OCTAVE http://img213.imageshack.us/img213/3544/wsiz.jpg jak sie zabrac za punkt 3 i 5?? I drugie pytanie - projektujac filtr typu fir - jego długosc jest od czegos zalezna, czy jest to tylko i wylacznie moje widzimisie? Cytuj Odnośnik do komentarza
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.