Fenomen Napisano 6 Stycznia 2008 Udostępnij Napisano 6 Stycznia 2008 hmmm... chyba mam jeszcze większy problem help needed :| 10c. W pliku o danej nazwie znajduje się pewien tekst. Ile jest wierszy tekstu? Z ilu znaków składa się ten tekst ? Ile jest w nim „czarnych znaków” ? Jaką długość ma najdłuższy wiersz ? Usuń z niego wszystkie wiersze zaczynające się ciągiem „//” . Wyświetl tekst na ekranie pomijając zbędne odstępy między słowami itp.10d. W pliku binarnym umieszczono ciąg liczb rzeczywistych. Napisz program wczytujący ten ciąg liczb i obliczający wartość średnią i odchylenie średniokwadratowe (sigma) jego elementów . Czy można to zrobić odczytując dane ze zbioru tylko raz ? UWAGA: plik może mieć tak dużo wartości ,że nie zmieszczą się one w tablicy. Cytuj Odnośnik do komentarza
handballer Napisano 7 Stycznia 2008 Udostępnij Napisano 7 Stycznia 2008 Czy jest ktoś zajmujący się grafiką komputeorwą ? Mam zadany projekt "Skalowanie map bitowych (zmiejszanie/powiększanie)" Program ma być napisacy w języku C z wykorzystaniem biblioteki allegro. W zasadzie mam wszystko tyle brakuje mi tej najważniejszej rzeczy, zmiejszania i powiększania. Nie wiem jak to zaimplementować. Ktoś może coś doradzić ? Cytuj Odnośnik do komentarza
Elfiszon Napisano 7 Stycznia 2008 Udostępnij Napisano 7 Stycznia 2008 Obliczasz stosunek oczekiwanego boku bitmapy do oryginalnego rozmiaru (w pikselach). Potem rysujesz tyle razy dany piksel ile wynosil ten stosunek (oczywiści obcinasz do int). To samo w pionie, ale z liniami. Algorytm stary jak świat, siermiężnie prosty, pisany jeszcze w asm http://my.opera.com/lenczewski/blog/matlab...razu-metoda-naj Cytuj Odnośnik do komentarza
frodo Napisano 8 Stycznia 2008 Udostępnij Napisano 8 Stycznia 2008 Nawet ja taki program sam zrobiłem Mam taki program napisany w allegro, jak znajdę to wrzucę Chociaż w sumie już wszystko zostało napisane Cytuj Odnośnik do komentarza
lindros Napisano 13 Stycznia 2008 Udostępnij Napisano 13 Stycznia 2008 Pomoglibyście mi z implementacją drzewa w C? I nie chodzi mi o drzewo binarne, tylko mam do zrobienia katalog płyt. W katalogu mają być przechowywane dane o płytach, zorganizowanych w postaci drzewa podkatalogów. Każdy podkatalog moze zawierac dowolna liczbę wpisów, w tym innych podkatalogów. Any ideas? Cytuj Odnośnik do komentarza
Fenomen Napisano 18 Stycznia 2008 Udostępnij Napisano 18 Stycznia 2008 Mam takie zadanie: Zdefiniuj klase Moja o metode int ile (double eps, double x) obliczajaca ile wyrazow nalezy zsumowac aby podana nizej rownosc byla spelniona z dokladnoscia eps dla x*x<1: suma(od k=1 do nieskonczonosci) k*x^k = x / (1-x)^2 wymyslilem to sobie tak, zeby podzielic lewa strone przez prawa i ze ten stosunek musi byc mniejszy od eps... wtedy program wyglada mniej wiecej tak: public static double potega(double podstawa, double wykladnik) { double potega = 1; if (podstawa>0 && wykladnik>0) { if (podstawa == 0) return 0; else if (podstawa == 1) return potega; else { if (wykladnik == 0) return 1; else if (wykladnik ==1) return podstawa; else { for (int i=0; i<wykladnik; i++) { potega *= podstawa; } } } } return potega; } public static int ile(double x, double eps) { double suma = x; int i = 1; while ((suma*(1-x)*(1-x)/x) > eps) { i++; suma += potega(i,x); } return i; } czy to moze byc tak zrobione? generalnie program dziala jesli w metodzie ile podam w miare normalne argumenty (do jednego lub dwoch miejsc po przecinku), przy wiekszych dokladnosciach (trzy lub cztery miejsca po przecinku sie zawiesza Cytuj Odnośnik do komentarza
Fenomen Napisano 19 Stycznia 2008 Udostępnij Napisano 19 Stycznia 2008 Mam jeszcze jedno zadanie, tym razem trochę bardziej złożone - chodzi o zastosowanie kolekcji. Też bym prosił żeby ktoś na to rzucił okiem mam Hurtownie, ona wspolpracuje ze zbiorem Dostawcow ( nazwa_dostawcy i zbior Towarow(nazwa, ilosc, cena ) , ktore moze dostarczac ) 1) dopiszTowar( ) - zapisuje ze dany dostawca moze dostarczac towar o danej nazwie w podanej cenie i ilosci 2) ileTowarow - ile roznych towarow mozemy sprzedawac 3) mogeZamowic - u ktorego dostawcy mozna zamowi podany towar w potrzebnej ilosci, wynikiem powinna byc nazwa dostawcy i cena towaru 4) najtanszy - ktory dostawca ma podany towar w najnizszej cenie 5) zapiszZamowienie - jako argument podajemy ile i jakich towarow potrzebujemy, wynikiem ma byczapisane w pliku textowym 'zamowienie.txt' zestawienie. Kazdy wiersz pliku powinien zawierac: numer pozycji, nazwe towaru, ilosc, cene, i nazwwe dostawcy UWAGA: pomijamy zlecenia ktorych nie mozemy zrealizowac [ czyli nie mamy odpowiedniego dostawcy ] import java.util.*; public class Dostawca { String nazwa; HashSet<Towar> towary = new HashSet<Towar>(); void dopiszTowar(String nazwa, int ilosc, int cena) { Towar towar = new Towar(nazwa, ilosc, cena); towary.add(towar); } } public class Towar { String nazwa; int ilosc; double cena; Towar(String nazwa, int ilosc, int cena) { this.nazwa = nazwa; this.ilosc = ilosc; this.cena = cena; } } public class Dostepny { String nazwa; double cena; } import java.util.*; import java.io.*; public class Hurtownia { HashSet<Dostawca> dostawcy = new HashSet<Dostawca>(); int ileTowarow() { int ile = 0; for (Dostawca d : dostawcy) { for (Towar t : d.towary) { ile++; } } return ile; } Dostepny mogeZamowic(String nazwa_towaru, int ilosc_towaru) { Dostepny dost = new Dostepny(); for (Dostawca d : dostawcy) { for (Towar t : d.towary) { if (t.nazwa.equals(nazwa_towaru) && (t.ilosc == ilosc_towaru)) dost.nazwa = nazwa_towaru; dost.cena = t.cena; } } return dost; } double najnizszaCenaTowaru(String n) { double tablica[] = new double [ileTowarow()]; for (int i=0; i<tablica.length; i++) { for (Dostawca d : dostawcy) { for (Towar t : d.towary) { if (t.nazwa.equals(n)) tablica[i] = t.cena; } } } double cena = tablica[0]; for (int i=1; i<tablica.length; i++) { if (tablica[i] < cena) cena = tablica[i]; } return cena; } String najtanszy(String k) { String naj = " "; for (Dostawca d : dostawcy) { for (Towar t : d.towary) { if (t.cena == najnizszaCenaTowaru(k)) naj = d.nazwa; } } return naj; } void zapiszZamowienie() throws IOException { PrintWriter zapis = new PrintWriter(new BufferedWriter(new FileWriter("zamowienie.txt")),true); // zadanie skoncze jak zrozumiem tresc polecenia :) } } Cytuj Odnośnik do komentarza
handballer Napisano 19 Stycznia 2008 Udostępnij Napisano 19 Stycznia 2008 Mam problem, w jakimś stopniu wiąże się on z programowaniem. Mianowicie poszukuję informacji z inżynierii (o)programowania, czym zajmują się poszczególne osoby: analityk, projektant, weryfikator, serwisant. Projektant występuje w dwóch wersjach : architektura i implementacja. Szukałem na necie ale tam jest tylko ogólnikowo to opisane, a ja potrzebuję większej rozpiski. Czy ktoś może mieć jakieśmateriały u siebie, albo wie gdzie to można znaleźć ? Cytuj Odnośnik do komentarza
Elfiszon Napisano 21 Stycznia 2008 Udostępnij Napisano 21 Stycznia 2008 W książkach. Cytuj Odnośnik do komentarza
wwosik Napisano 22 Stycznia 2008 Udostępnij Napisano 22 Stycznia 2008 Mam jeszcze jedno zadanie, tym razem trochę bardziej złożone - chodzi o zastosowanie kolekcji. Też bym prosił żeby ktoś na to rzucił okiem mam Hurtownie, ona wspolpracuje ze zbiorem Dostawcow ( nazwa_dostawcy i zbior Towarow(nazwa, ilosc, cena ) , ktore moze dostarczac ) 1) dopiszTowar( ) - zapisuje ze dany dostawca moze dostarczac towar o danej nazwie w podanej cenie i ilosci 2) ileTowarow - ile roznych towarow mozemy sprzedawac 3) mogeZamowic - u ktorego dostawcy mozna zamowi podany towar w potrzebnej ilosci, wynikiem powinna byc nazwa dostawcy i cena towaru 4) najtanszy - ktory dostawca ma podany towar w najnizszej cenie 5) zapiszZamowienie - jako argument podajemy ile i jakich towarow potrzebujemy, wynikiem ma byczapisane w pliku textowym 'zamowienie.txt' zestawienie. Kazdy wiersz pliku powinien zawierac: numer pozycji, nazwe towaru, ilosc, cene, i nazwwe dostawcy UWAGA: pomijamy zlecenia ktorych nie mozemy zrealizowac [ czyli nie mamy odpowiedniego dostawcy ] Uch, długie W każdym razie: w ileTowarow nie sprawdzasz, czy przypadkiem towar się nie powtarza. W mogeZamowic, linijka "dost.cena = t.cena;" wykona się zawsze - błąd warunek też powinien być raczej if (t.nazwa.equals(nazwa_towaru) && (t.ilosc >= ilosc_towaru)) Co więcej, co jeśli jeden ma 2 sztuki a inny 3 sztuki, a Ty chcesz 5? najnizszaCenaTowaru jest niedobra, lepiej napisz jeszcze raz import java.util.*; public class Dostawca { String nazwa; HashSet<Towar> towary = new HashSet<Towar>(); void dopiszTowar(String nazwa, int ilosc, int cena) { Towar towar = new Towar(nazwa, ilosc, cena); towary.add(towar); } } public class Towar { String nazwa; int ilosc; double cena; Towar(String nazwa, int ilosc, int cena) { this.nazwa = nazwa; this.ilosc = ilosc; this.cena = cena; } } public class Dostepny { String nazwa; double cena; } import java.util.*; import java.io.*; public class Hurtownia { HashSet<Dostawca> dostawcy = new HashSet<Dostawca>(); int ileTowarow() { int ile = 0; for (Dostawca d : dostawcy) { for (Towar t : d.towary) { ile++; } } return ile; } Dostepny mogeZamowic(String nazwa_towaru, int ilosc_towaru) { Dostepny dost = new Dostepny(); for (Dostawca d : dostawcy) { for (Towar t : d.towary) { if (t.nazwa.equals(nazwa_towaru) && (t.ilosc == ilosc_towaru)) dost.nazwa = nazwa_towaru; dost.cena = t.cena; } } return dost; } double najnizszaCenaTowaru(String n) { double tablica[] = new double [ileTowarow()]; for (int i=0; i<tablica.length; i++) { for (Dostawca d : dostawcy) { for (Towar t : d.towary) { if (t.nazwa.equals(n)) tablica[i] = t.cena; } } } double cena = tablica[0]; for (int i=1; i<tablica.length; i++) { if (tablica[i] < cena) cena = tablica[i]; } return cena; } String najtanszy(String k) { String naj = " "; for (Dostawca d : dostawcy) { for (Towar t : d.towary) { if (t.cena == najnizszaCenaTowaru(k)) naj = d.nazwa; } } return naj; } void zapiszZamowienie() throws IOException { PrintWriter zapis = new PrintWriter(new BufferedWriter(new FileWriter("zamowienie.txt")),true); // zadanie skoncze jak zrozumiem tresc polecenia :) } } Cytuj Odnośnik do komentarza
Fenomen Napisano 3 Lutego 2008 Udostępnij Napisano 3 Lutego 2008 Mam takie zadanie: dane są klasy: class Punkt1 {int x, int y}, class A {HashSet<Punkt1> punkty; ...}. Napisz metode, której wynikiem są punkty tworzące najdłuższy odcinek poziomy. Ja to sobie wymyśliłem tak, że najpierw muszę mieć klasę pomocniczą, która posłuży mi jako typ zwracanego wyniku. Gdy już będę miał tę klasę, to po prostu będę porównywał pola x poszczególnych obiektów typu Punkt. Na koniec zwrócę jako wynik te dwa punkty, których różnica współrzędnych x jest największa. Wszystko jest ładnie, pięknie, ale pojawia się problem: mianowicie gdy zwracany jest wynik, to jako współrzędna y (czyli ta, z którą nic nie robimy) zostaje nadpisana taką samą wartością, jaką posiada współrzędna x. Any ideas? public class Punkt1 { int x; int y; Punkt1(int x, int y) { this.x = x; this.y = y; } Punkt1() { } } public class ParaPunktow { Punkt1 punkt1 = new Punkt1(); Punkt1 punkt2 = new Punkt1(); } import java.util.*; import java.io.*; public class A { StreamTokenizer strTok = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); HashSet<Punkt1> punkty = new HashSet<Punkt1>(); void dodawaniePunktow() throws Exception { System.out.println("Podaj wspolrzedne punktu, aby zakonczyc wpisz >>quit<<"); while (strTok.nextToken() == StreamTokenizer.TT_NUMBER) { int a = (int) strTok.nval; int b = (int) strTok.nval; punkty.add(new Punkt1(a,b)); } } ParaPunktow najdluzszyPoziomy() { int pom = 0; int pom2 = 0; ParaPunktow para = new ParaPunktow(); for (Punkt1 p : punkty) { for (Punkt1 q : punkty) { if (p.x != q.x) { if (p.x > q.x) pom = (p.x - q.x); else pom = (q.x - p.x); if (pom > pom2) { pom2 = pom; para.punkt1 = p; para.punkt2 = q; } } } } return para; } } Cytuj Odnośnik do komentarza
jakubkwa Napisano 3 Lutego 2008 Udostępnij Napisano 3 Lutego 2008 Nie znam klasy StreamTokenizer, ale wygląda na to, że to w jej użyciu tkwi błąd. Mianowicie pobierasz w pętli token, a następnie przypisujesz jego wartość liczbową zarówno zmiennej a, jak i b. Współrzędna y nie jest więc wcale zmieniana, tylko ustawiana na taką samą jak x już na początku. Musisz wywołać metodę nextToken() jeszcze raz przed drugim pobraniem wartości atrybutu nval. Cytuj Odnośnik do komentarza
xemi Napisano 13 Lutego 2008 Autor Udostępnij Napisano 13 Lutego 2008 Oczywiscie wiem gdzie jest blad, nie mialo prawo dzialac, juz wiem jak zrobic zeby dzialalo. heh zly przyklad sobie na dzialanie tego zrobilem. PS. ale nie wiem jak przeedytowac tamten post, albo jak go usunac. PS2. dzieki za usuniecie wczesniejszego posta. Tego jakos mi sie udalo przeedytowac (nadal nie wiem jak ta opcja dziala) Cytuj Odnośnik do komentarza
wwosik Napisano 13 Lutego 2008 Udostępnij Napisano 13 Lutego 2008 Pytanko - czy ktoś się bawił w egzaminy Microsoftu. Mam taki w sobotę i chciałem poznac wrazenia. Cytuj Odnośnik do komentarza
wwosik Napisano 20 Lutego 2008 Udostępnij Napisano 20 Lutego 2008 Egzamin przesunął się na dzisiaj i właśnie z niego wróciłem. Łatwo nie było, ale zdałem. Czas na kolejne Cytuj Odnośnik do komentarza
Longer Napisano 4 Marca 2008 Udostępnij Napisano 4 Marca 2008 Nadal męczę pascala Tym razem moje zadanie polega na stworzeniu okręgu i opisanego na nim kwadratu (tak do upadłego ). Kombinowałem, kombinowałem i wyszło mi takie coś: program rys; uses graph; var st,tr,i,x,y,a,b:integer; begin detectgraph (st,tr); initgraph (st,tr,''); setcolor(white); setbkcolor(blue); x:=GetMaxX div 2; y:=GetMaxY div 2; a:=30; b:=trunc (sqrt(2)); rectangle(x-a,y+a,x+a,y-a); for i:=1 to 10 do rectangle(x-i*a*b,y+i*a*b,x+i*a*b,y-i*a*b); circle(x,y,trunc((a*b))); for i:=1 to 10 do circle(x,y, trunc ((i*a*b))); readln; closegraph; end. Problem polega na tym, że kwadraty 3 i powyżej zaczynają przecinać okręgi. Gdzie mogłem się walnąć? Cytuj Odnośnik do komentarza
Henkel Napisano 4 Marca 2008 Udostępnij Napisano 4 Marca 2008 zapewnie nigdzie - bardziej bym stawial na niedokladnosc programu i zaokraglanie przez niego obliczen skoro go oparles na integerach (liczby calkowite). ale to tylko moj domysl nawet bez doglebnego analizowania kodu. Cytuj Odnośnik do komentarza
Fenomen Napisano 17 Marca 2008 Udostępnij Napisano 17 Marca 2008 mam takie zadanie i nie wiem jak je ugryzc, prosilbym o pomoc 1. Oprogramuj klase OrderedArrayList dziedziczaca z klasy ArrayList. Stworz nowa definicje metody add, ktorej zadaniem jest wstawianie do listy na wlasciwej pozycji (tzn zgodnie z uporzadkowaniem) 2. Oprogramuj klase SetLList dziedziczaca z klasy OrderedArrayList. Klasa SetList ma reprezentowac zbior niepowtarzajacych sie elementow (dla ulatwienia przy manipulowaniu na zbiorze nalezy wykorzystac reprezentacje listy uporzadkowanej). Stworz nowa definicje metody add, ktorej zadaniem jest wstawienie do listy uporzadkowanej elementu pod warunkiem, ze element nie znajduje sie na liscie. Cytuj Odnośnik do komentarza
Elfiszon Napisano 21 Marca 2008 Udostępnij Napisano 21 Marca 2008 Hmm, nie wiem za bardzo jak w Javie wyglądają te typy, ale ogólny zarys wygląda tak: ad1) Kopiujesz wszystkie elementy listy (od końca) na pozycję i+1 aż do momentu znalezienia elementu równego dodawanemu. n = count(list); i = n; while (list[i] > new) { list[i+1] = list[i]; i--; } list[i] = new; ad2) Wypadałoby przed pętlą stwierdzić czy element jest na liście (żeby nie kopiować jak jest). Algorytmów na to jest trochę. Być może istnieje też jakieś bardziej optymalne rozwiązanie, ale nie przychodzi mi w tej chwili do głowy. Nie jestem też przekonany co do proponowanego rozwiązania rozszerzenia klasy (zapewne za pomocą konstrukcji extends), ale to temat na osobny wątek, ba na książkę Cytuj Odnośnik do komentarza
Fenomen Napisano 23 Marca 2008 Udostępnij Napisano 23 Marca 2008 probowalem zrobic tak jak napisales, ale w zaden sposob nie udalo mi sie przeniesc tego na kod javy (tzn niby znalazlem odpowiednie metody, ale kompilator tego nie łyka); zrobilem natomiast po swojemu - wrzuce tutaj caly kod bo mam w sumie dwa pytania, a nie jedno package zaliczenie2; import java.util.*; public class OrderedArrayList extends ArrayList { ArrayList<Double> lista = new ArrayList<Double>(); public boolean add(double value) { int i=1; while (lista.get(i)<value) i++; lista.add(i,value); return true; } public boolean addFirst(double value) { lista.add(0, value); return true; } } tak zrobilem te klase, ale przy uruchomieniu programu wywala wyjatek IndexOutOfBoundsException, ktorego nie potrafie naprawic druga rzecz, przy ktorej program sie wysypuje to metoda zamieniajaca przecinki na kropki // public static void zamienPrzecinkiNaKropki(String nazwaPliku) throws IOException { BufferedReader odczyt = new BufferedReader(new FileReader(nazwaPliku)); String linia_tekstu; while ((linia_tekstu = odczyt.readLine()) != null) { (linia_tekstu = odczyt.readLine()).replace(",","."); } } tutaj tez program sie skompiluje, ale podobnie jak wczesniej, przy uruchomieniu wywala sie wyjatek, tym razem jest to NullPointerException i rowniez nie wiem jak temu zaradzic 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ą.