jasonx Napisano 27 Października 2008 Udostępnij Napisano 27 Października 2008 Co zrobic, zeby liczby rzeczywiscie byly losowe, a nie pseudolosowe z randa? Musze uzywac randa, nie moge randomise (taki wymog w zadaniu) // tablice.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "stdio.h" #include "math.h" #include "stdlib.h" int Czytaj(double A[]) {int i,n; double x, a = 200.0/RAND_MAX; do {printf("Podaj ilosc liczb: "); scanf("%d",&n);} while(n<2||n>100); for(i=0;i<n;i++) {x= (a*rand()-100) A[i] = x; } return n; } void wypisywanie(int n, double A[]) { int i; int k=10; for (i=0; i<n; i++) { if (i % k) printf("\t"); else printf("\n"); printf("%f", A[i]); } } double Srednia(int n,double A[]) {int i; double S=0; double D; for(i=0;i<n;i++) S=S+A[i]; S=S/n; return S; } double odchyl (int n, double A[]) {int i; double S,D; S=Srednia(n,A); for (i=0; i<n; i++) D=pow(A[i]-S,2); D=sqrt(D/(n-1)); return D; } double MAX(int n, double A[]) {int i; double max=A[0]; for(i=1;i<n;i++) if(A[i]>max) max=A[i]; return max; } int main() { int n; double max,D,S,A[100]; n=Czytaj(A); max=MAX(n,A); S=Srednia(n,A); D=odchyl(n,A); wypisywanie (n,A); printf("\n"); printf("\n"); printf("\tNajwieksza liczba to %lf\n",max); printf("\tSrednia=%lf\n",S); printf("\tOdchylenie standardowe= %lf\n",D); flushall (); getchar (); return 0; } Cytuj Odnośnik do komentarza
bartrix Napisano 27 Października 2008 Udostępnij Napisano 27 Października 2008 @jasonx Przed pierwszym użyciem rand wywołaj srand(time(NULL)) i dołącz time.h. Srand ustawia ziarno generatora, time(NULL) zwraca liczbę sekund, które upłynęły od bodajże 01.01.1970 roku. Cytuj Odnośnik do komentarza
jasonx Napisano 27 Października 2008 Udostępnij Napisano 27 Października 2008 @jasonxPrzed pierwszym użyciem rand wywołaj srand(time(NULL)) i dołącz time.h. dalej mi losuje to samo :roll: Srand ustawia ziarno generatora, time(NULL) zwraca liczbę sekund, które upłynęły od bodajże 01.01.1970 roku. cos jak w squid Cytuj Odnośnik do komentarza
bartrix Napisano 27 Października 2008 Udostępnij Napisano 27 Października 2008 @jasonxPrzed pierwszym użyciem rand wywołaj srand(time(NULL)) i dołącz time.h. dalej mi losuje to samo :roll: Srand ustawia ziarno generatora, time(NULL) zwraca liczbę sekund, które upłynęły od bodajże 01.01.1970 roku. cos jak w squid #include "stdafx.h" #include "stdio.h" #include "math.h" #include "stdlib.h" #include "time.h" //DODANE int Czytaj(double A[]) {int i,n; double x, a = 200.0/RAND_MAX; do {printf("Podaj ilosc liczb: "); scanf("%d",&n);} while(n<2||n>100); for(i=0;i<n;i++) {x= (a*rand()-100); A[i] = x; } return n; } void wypisywanie(int n, double A[]) { int i; int k=10; for (i=0; i<n; i++) { if (i % k) printf("\t"); else printf("\n"); printf("%f", A[i]); } } double Srednia(int n,double A[]) {int i; double S=0; double D; for(i=0;i<n;i++) S=S+A[i]; S=S/n; return S; } double odchyl (int n, double A[]) {int i; double S,D; S=Srednia(n,A); for (i=0; i<n; i++) D=pow(A[i]-S,2); D=sqrt(D/(n-1)); return D; } double MAX(int n, double A[]) {int i; double max=A[0]; for(i=1;i<n;i++) if(A[i]>max) max=A[i]; return max; } int main() { int n; srand(time(NULL)); //DODANE double max,D,S,A[100]; n=Czytaj(A); max=MAX(n,A); S=Srednia(n,A); D=odchyl(n,A); wypisywanie (n,A); printf("\n"); printf("\n"); printf("\tNajwieksza liczba to %lf\n",max); printf("\tSrednia=%lf\n",S); printf("\tOdchylenie standardowe= %lf\n",D); flushall (); getchar (); return 0; } Sprawdziłem takie coś i daje to różne liczby . Zaznaczyłem komentarzem to co dodałem. Cytuj Odnośnik do komentarza
jasonx Napisano 29 Października 2008 Udostępnij Napisano 29 Października 2008 Tresc zadania do wykonania: 1. Zainicjować tablicę wskaźników do trzech tekstów. Wypisać te teksty w kolejności alfabetycznej. Do porównania tekstów użyć funkcji stricmp. Policzyć ile wyrazów jest w każdym tekście. Jako, ze jestem ciemna masa w tym jeszcze, udalo mi sie dorwac jakiegos gotowca. Tylko nie wiem, jak pozbyc sie z niego tego errora (pisze w Visualu'08) #include “stdafx.h” #include “stdio.h” #include “stdlib.h” #include “string.h” int licz_slowa(char tekst[]) { int n, ilosc_slow, wpslowa; // wpslowa okresla czy jestesmy w(1) slowie czy poza(0) nim for(n=0,wpslowa=0,ilosc_slow=0;tekst[n]!='\0';n++) { // petla dziala dopoki na napotkamy na koniec tekstu if(wpslowa==0 && ((tekst[n]>='a' && tekst[n]<='z') || (tekst[n]>='A' && tekst[n]<='Z'))) { ilosc_slow++; wpslowa=1; } if(wpslowa==1 && !((tekst[n]>='a' && tekst[n]<='z') || (tekst[n]>='A' && tekst[n]<='Z'))) { wpslowa=0; } } return ilosc_slow; } int main(void) { char wsk_tekstu[3][256]; // deklaracja tablicy tekstow. wsk_tekst[n] jest wskaznikiem do n`tego tekstu int n; for(n=0;n<3;n++) { // wczytuje ciagi znakowe printf("Podaj %d tekst: ", n+1); gets(wsk_tekstu[n]); printf("tekst %d: %s\n", n+1, wsk_tekstu[n]); } qsort(wsk_tekstu, 3, 256, strcmp); // sortowanie tekstow for(n=0;n<3;n++) { // wyprowadzanie w kolejnosci alfabetycznej printf("tekst %d: %s\nilosc slow: %d\n", n+1, wsk_tekstu[n], licz_slowa(wsk_tekstu[n])); } system("PAUSE"); return 0; } A jakby oprocz tego ktos krok po kroku łopatologicznie moglmy wytlumaczyc poszczegolne kroki programu, bylbym wdzieczny bardzo.. Cytuj Odnośnik do komentarza
Fenomen Napisano 8 Listopada 2008 Udostępnij Napisano 8 Listopada 2008 Takie pytanko: jak w javie zmusic okienko dialogowe wyboru plikow do zamkniecia po wybraniu wlasciwego pliku? mam taki fragment kodu: if (openfileflag) { try { FileDialog filedialog = new FileDialog(frame, "Okno dialogowe"); filedialog.setVisible(true); String path = filedialog.getFile(); image = ImageIO.read(new File(path)); imagewidth = image.getWidth(); imageheight = image.getHeight(); } catch(IOException e) {System.out.println("Loading error");} graphics2d.drawImage(image, 100, 100, imagewidth, imageheight, null); } I po wybraniu pliku i zatwierdzeniu przyciskiem 'OK' okno to powinno zniknac i rzeczywiscie znika, ale blyskawicznie pojawia sie ponownie zamkniecie okienka "iksem" w prawym gornym rogu nie skutkuje, podobnie jak wcisniecie "Anuluj" :| Cytuj Odnośnik do komentarza
xemi Napisano 14 Listopada 2008 Autor Udostępnij Napisano 14 Listopada 2008 Witam. A ja mam pytanie, o C#, moze sie ktos w tym orientuje. Konkretnie chodzi o projekt z Visual'u i Windows Forms. Jak mam na formularzu jakies kontrolki i cche zrobic tak ze nad nimi jest kontrolka 'panel' na ktorej ma cos byc rysowane. Teraz pytanie taki, czy da sie cos zrobic zeby ta kontrolka panel miala przezroczyste lto, tak zeby widac bylo tylko to co tam narysuje? I jak cos, to jak to zrobic? Cytuj Odnośnik do komentarza
Fenomen Napisano 15 Listopada 2008 Udostępnij Napisano 15 Listopada 2008 http://www.c-sharpcorner.com/UploadFile/Sh...elinCSharp.aspx jest tez taki patent: label.BackColor = Color.FromArgb(0,0,0,0) albo label.BackColor = Color.FromArgb(0, label.BackColor) i jeszcze cos ciekawego: http://www.attilan.com/2007/07/transparent...n_c_control.php Cytuj Odnośnik do komentarza
Manort Napisano 16 Listopada 2008 Udostępnij Napisano 16 Listopada 2008 Big thanks Fenomen za ostatnia pomoc Tym razem mam inny problem - W klasie ComplexImpl zaimplementowac operator dodawania, odejmowania, dzielenia i mnozenia . public interface Complex { public Complex add(Complex c); public Complex sub(Complex c); public Complex multiply(Complex c); public Complex divide(Complex c); public double modulus(); public double re(); public double im(); } public class ComplexImpl implements Complex { private final double re; private final double im; public ComplexImpl(double re, double im) { this.re = re; this.im = im; } @Override public Complex add(Complex c) { return new ComplexImpl(this.re() + c.re(), this.im() + c.im()); } @Override public Complex divide(Complex c) { // TODO Auto-generated method stub return null; } @Override public double im() { return this.im; } @Override public double modulus() { return Math.sqrt(this.re() * this.re() + this.im() * this.im()); } @Override public Complex multiply(Complex c) { // TODO Auto-generated method stub return null; } @Override public double re() { return this.re; } @Override public Complex sub(Complex c) { // TODO Auto-generated method stub return null; } } public class TestComplex { public static void main(String[] args) { Complex a = new ComplexImpl(1.0, 2.0); // 1 + 2j Complex b = new ComplexImpl(4, -5); // 4 - 5j System.out.println(a.modulus()); Complex c = a.add(b); System.out.println(c.im()); } } Cytuj Odnośnik do komentarza
jasonx Napisano 19 Listopada 2008 Udostępnij Napisano 19 Listopada 2008 Mam do napisania dwa programiki. Nie prosze, zeby ktos mi to od poczatku napial (no chyba, ze bedzie mial ochote ), ale moze ma ktos podobnego gotowca. 1) Napisz program operujący na strukturze Student. Struktura zlożona jest z pól nazwisko(20 znaków), imie(15znaków), oraz średnich z ocen(float). W zależności od wybranej opcji uzytkownik powinien wprowadzić dane, wyświetlać poszczególne rekordy lub cała bazę. Przy wprowadzaniu należy sprawdzić, aby nie przekroczyć ustalonego rozmiaru tablicy struktury( można zrobic dynamiczne wprowadzanie), oraz umozliwić zapisanie bazy do pliku tekstowego. 2) Stwórz strukturę definiującą okrąg. Każdy okrąg składa się ze współrzędnych środka oraz promienia. Napisz funkcję obliczającą pole i obwód oraz wyprowadzającą dane z dokładnością do 0,001. Wprowadź dane drugiego okręgu oraz zbadaj czy wprowadzone dane mają 0,1 czy 2 punkty wspólne? Cytuj Odnośnik do komentarza
Misiek Napisano 19 Listopada 2008 Udostępnij Napisano 19 Listopada 2008 Mam do napisania dwa programiki. Nie prosze, zeby ktos mi to od poczatku napial (no chyba, ze bedzie mial ochote ), ale moze ma ktos podobnego gotowca. 1) Napisz program operujący na strukturze Student. Struktura zlożona jest z pól nazwisko(20 znaków), imie(15znaków), oraz średnich z ocen(float). W zależności od wybranej opcji uzytkownik powinien wprowadzić dane, wyświetlać poszczególne rekordy lub cała bazę. Przy wprowadzaniu należy sprawdzić, aby nie przekroczyć ustalonego rozmiaru tablicy struktury( można zrobic dynamiczne wprowadzanie), oraz umozliwić zapisanie bazy do pliku tekstowego. Miałem kiedyś podobny program na kolokwium napisać, może Ci się przyda... Nie jest to dokładnie to co potrzebujesz, ale coś już będziesz miał, resztę sobie dopiszesz #include <iostream> #include <iomanip> #define N 2 using namespace std; struct dane_os { char imie[20]; char nazwisko[20]; }; struct Student { float oceny[2]; float srednia; dane_os dane; }; void wczytaj (Student &p); void wypisz (Student &p); void srednia_f (Student &p); int main() { Student t[N]; for (int i=0; i<N; i++) { wczytaj(t[i]); } for (int w=0; w<N; w++) { srednia_f(t[w]); } for (int j=0; j<N; j++) { wypisz(t[j]); } system ("Pause"); } void wczytaj (Student &p) { cout<<"Podaj imie:"<<endl; cin.getline(p.dane.imie, 20); cout<<"Podaj nazwisko:"<<endl; cin.getline(p.dane.nazwisko, 20); cout<<"Podaj kolejno 2 oceny:"<<endl; for (int i=0; i<2; i++) { cin>>p.oceny[i]; } cin.get(); } void wypisz (Student &p) { cout<<p.dane.imie[0]<<"."<<" "<<p.dane.nazwisko; for (int i=0; i<2; i++) { cout<<" "<<p.oceny[i]<<" "; } cout<<p.srednia; cout<<endl; } void srednia_f (Student &p) { float suma, srednia; for (int i=0; i<2; i++) { suma=suma+p.oceny[i]; srednia=suma/2; } p.srednia=srednia; } Cytuj Odnośnik do komentarza
Sławoj Napisano 21 Listopada 2008 Udostępnij Napisano 21 Listopada 2008 Może ktoś pomoże Błąd Cytuj Odnośnik do komentarza
Fenomen Napisano 22 Listopada 2008 Udostępnij Napisano 22 Listopada 2008 @Manort, znalazlem chwile i napisalem Ci te obsluge dzialan: public interface Complex { public Complex add(Complex complex); public Complex sub(Complex complex); public Complex mul(Complex complex); public Complex div(Complex complex); public double mod(Complex complex); public double re(); public double im(); } public class ComplexNumber implements Complex{ private double re; private double im; public ComplexNumber(double re, double im) { this.re = re; this.im = im; } public ComplexNumber() { re = im = 0; } public Complex add(Complex complex) { return new ComplexNumber(this.re+complex.re(), this.im+complex.im()); } public Complex sub(Complex complex) { return new ComplexNumber(this.re-complex.re(), this.im-complex.im()); } public Complex mul(Complex complex) { return new ComplexNumber(this.re*complex.re()-this.im*complex.im(), this.im*complex.re()+this.re*complex.im()); } public Complex div(Complex complex) { return new ComplexNumber((this.re*complex.re()+this.im*complex.im())/Math.pow(complex.im(), 2), ((this.im*complex.re()-this.re*complex.im())/Math.pow(complex.re(), 2))); } public double mod(Complex complex) { return Math.sqrt(Math.pow(complex.re(), 2)+Math.pow(complex.im(), 2)); } public double re() {return re;} public double im() {return im;} public String toString() { return "Czesc rzeczywista: "+re+", czesc urojona: "+im+"i"; } } public class Test { public static void main(String[] args) { ComplexNumber a = new ComplexNumber(2, 5); ComplexNumber b = new ComplexNumber(4, 8); System.out.println("Suma: "+a.add(b).toString()); System.out.println("Roznica: "+a.sub(b).toString()); System.out.println("Iloczyn: "+a.mul(b).toString()); System.out.println("Iloraz: "+a.div(b).toString()); System.out.println("Modul z a: "+a.mod(a)); System.out.println("Modul z b: "+b.mod(b)); } } Efekt dzialania programu: Suma: Czesc rzeczywista: 13.0, czesc urojona: 6.0iRoznica: Czesc rzeczywista: -3.0, czesc urojona: -2.0i Iloczyn: Czesc rzeczywista: -32.0, czesc urojona: 36.0i Iloraz: Czesc rzeczywista: 0.75, czesc urojona: 0.25i Modul z a: 5.385164807134504 Modul z b: 8.94427190999916 Cytuj Odnośnik do komentarza
jasonx Napisano 27 Listopada 2008 Udostępnij Napisano 27 Listopada 2008 Co zrobic, zeby program ktory napisalem w C++ (w VB08), moglby byc uruchamiany na kazdym dowolnym komputerze? Wystarczy tylko ten plik z debuga przekopiowac? Cytuj Odnośnik do komentarza
Fenomen Napisano 29 Listopada 2008 Udostępnij Napisano 29 Listopada 2008 Trzeba zrobić z niego plik uruchomieniowy Cytuj Odnośnik do komentarza
Fenomen Napisano 2 Grudnia 2008 Udostępnij Napisano 2 Grudnia 2008 pochwale sie swoim pierwszym wiekszym projektem z javy program wykonuje konwersje na poszczegolnych modelach barw: RGB, HLS oraz YUV zapraszam do testowania, wzglednie komentowania: http://odsiebie.com/pokaz/1065737---9442.html Cytuj Odnośnik do komentarza
jasonx Napisano 2 Grudnia 2008 Udostępnij Napisano 2 Grudnia 2008 Jak w MS Visual C++ 2008 Express zrobic aplikacje MFC? Cytuj Odnośnik do komentarza
lindros Napisano 2 Grudnia 2008 Udostępnij Napisano 2 Grudnia 2008 Pomógłby mi ktoś napisać deklaracje do pliku nagłówkowego w c++ ? zdefiniować wzorzec interfejsu (abstrakcyjnej klasy) funkcja: • parametrem wzorca jest typ danych argumentów i wartości funkcji • klasa posiada przeładowanych operator () (jest to obiekt funkcyjny), który zwraca wartość funkcji dla podanych argumentów (metoda czysto wirtualna) • obiekty implementujące ten interfejs realizują konkretne funkcje (np. x^2) - proszę przygotować kilka przykładowych funkcji Proszę zdefiniować wzorzec klasy MonteCarlo: • parametrem wzorca jest klasa implementująca interfejs funkcja - a więc konkretna funkcja, której pole będziemy obliczać • pozwala określić liczbę losowanych punktów (to również może być parametr wzorca), a następnie dokonać obliczenia (oszacowania) pola pod wykresem funkcji Cytuj Odnośnik do komentarza
lindros Napisano 2 Grudnia 2008 Udostępnij Napisano 2 Grudnia 2008 template <class T> class IFunkcja { public: virtual T operator()(int, T) =0; ///Metoda czystowirtualna }; template <class T> class Funkcja : public IFunkcja<T> { T operator()(T x); T operator()(int, T x); }; template<template <class A, class B, class C>class W, W IFunkcja, int N> class MonteCarlo{} Mój wymysł nie działa, ale ktoś może wie, jak należy przerobić. Cytuj Odnośnik do komentarza
Glapa Napisano 2 Grudnia 2008 Udostępnij Napisano 2 Grudnia 2008 - program może obliczyć dowolną całkowitą potęgę (ograniczeniem powinna być tylko pamięć jednostki wykonawczej (komputera)) - program oblicza dowolną potęgę rzeczywistą liczby dwa (używamy tylko pętli)...nie musi być dowolnego zakresu. i niezbyt wiem jak sie za to zabrać w pierwszym myślniku chodzi o to zeby nie zerowało wyniku po przekroczeniu limitu typu zmiennej. dodam że nie można korzystać z math.h 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ą.