Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
dykii
ELEKTRONIK - on już ciągnie druty
Dołączył: 12 Paź 2006
Posty: 380
Przeczytał: 0 tematów
Skąd: Katowice/Gliwice gr. II
|
Wysłany: Wto 18:19, 20 Lis 2007 Temat postu: |
|
|
Nie pamietam dokladnej tresci ale z grubsza chodzilo o to zeby za pomoca klasy stworzyc tablice n-elementowa , i odpowiednie funkcje daj i ustaw ktore maja ci pokazywac element tablicy o zadanym indeksie i wpisywac elementy do tej tablicy, o cos chyba wiecej chodzilo panu Kossak ale nie skumalam tresci, trzeba znac klasy, konstruktory instrukcje new i to chyba wszystko
|
|
Powrót do góry |
|
|
|
|
Gość
|
Wysłany: Wto 20:02, 20 Lis 2007 Temat postu: |
|
|
Wedlug mnie to powinno byc tak:
#include <conio.h>
#include <string>
#include <iostream>
using namespace std;
class Tab
{
private:
int n;
double* wd;
public:
Tab(int);
~Tab() { delete[] wd; }
double d(int);
void u(int,double);
};
Tab::Tab(int rozmiar=1)
{
n=rozmiar;
wd=new double [n];
for(int i=0;i<n;i++) wd[i]=-1e300;
}
double Tab::d(int index)
{
if (!(index<n)&&(index>=0)) exit(1);
else
if (wd[index]==-1e300) exit(2);
else
return wd[index];
}
void Tab::u(int index,double wartosc)
{
if (!(index<n)&&(index>=0))
exit(1);
else
wd[index]=wartosc;
}
int main()
{
Tab t1(10),t2,t3(100);
t1.u(0,1.5); t2.u(0,0.5);
t1.u(1,2.5);
cout << t1.d(1) << " " << t1.d(0) << endl;
cout << t2.d(0) << endl;
for (int i=0;i<100;i++)
{
t3.u(i,i+1);
}
double suma=0.0;
for (int i=0;i<100;i++)
{
suma+=t3.d(i);
}
cout << "Wynik to suma wartosci t3= " << suma <<endl;
system("Pause");
return 0;
}
|
|
Powrót do góry |
|
|
>>>46<<<
PRAWIE elektronik - prawie robi...
Dołączył: 12 Paź 2006
Posty: 290
Przeczytał: 0 tematów
Skąd: Tychy
|
Wysłany: Wto 21:19, 20 Lis 2007 Temat postu: |
|
|
no no no,nieźle ukulałeś ten programik
|
|
Powrót do góry |
|
|
robert_bytom
Sado-Elektro - wiecie gdzie ma lutownice
Dołączył: 21 Paź 2006
Posty: 778
Przeczytał: 0 tematów
Skąd: Bytom
|
Wysłany: Czw 17:43, 22 Lis 2007 Temat postu: |
|
|
Udało mi się w koncu dostać na tego ftp
Oto program z ostatnich laborek u Kłosowskiego - zadanie polegało na zrobieniu działań na ułamkach zwykłych na klasach (dodawanie, odejmowanie, mnozenie i dzielenie):
Kod: |
#include <cstdlib>
#include <iostream>
using namespace std;
class ulamek{
public:
int licznik;
int mianownik;
ulamek() {}
ulamek(int a,int b): licznik(a), mianownik(b) {}
~ulamek () {}
ulamek dodaj(ulamek a);
ulamek odejmij(ulamek a);
ulamek pomnoz(ulamek a);
ulamek podziel(ulamek a);
};
ulamek ulamek::dodaj(ulamek a)
{
ulamek wynik;
int c=a.licznik;
int d=a.mianownik;
wynik.mianownik=d*mianownik;
wynik.licznik=c*mianownik+licznik*d;
return wynik;
}
ulamek ulamek::odejmij(ulamek a)
{
ulamek wynik;
int c=a.licznik;
int d=a.mianownik;
wynik.mianownik=d*mianownik;
wynik.licznik=licznik*d-c*mianownik;
return wynik;
}
ulamek ulamek::pomnoz(ulamek a)
{
ulamek wynik;
wynik.licznik=licznik*a.licznik;
wynik.mianownik=mianownik*a.mianownik;
return wynik;
}
ulamek ulamek::podziel(ulamek a)
{
ulamek wynik;
wynik.licznik=licznik*a.mianownik;
wynik.mianownik=mianownik*a.licznik;
return wynik;
}
int main()
{
ulamek x(1,4), y(1,2);
cout << "x=\t" << x.licznik << endl << "\t" << x.mianownik << endl;
cout << "y=\t" << y.licznik << endl << "\t" << y.mianownik << endl;
cout << "Suma:\t\t" << (x.dodaj(y)).licznik << endl << "\t\t" << (x.dodaj(y)).mianownik<<endl<<endl;
cout << "Roznica:\t" << (x.odejmij(y)).licznik << endl << "\t\t" << (x.odejmij(y)).mianownik<<endl<<endl;
cout << "Iloczyn:\t"<<(x.pomnoz(y)).licznik << endl<<"\t\t" << (x.pomnoz(y)).mianownik<<endl<<endl;
cout << "Iloraz:\t\t" <<(x.podziel(y)).licznik << endl << "\t\t" << (x.podziel(y)).mianownik<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
|
|
|
Powrót do góry |
|
|
Grzesiek
Tłuste zero
Dołączył: 16 Kwi 2007
Posty: 79
Przeczytał: 0 tematów
|
Wysłany: Czw 23:59, 22 Lis 2007 Temat postu: |
|
|
[link widoczny dla zalogowanych]
umie ktoś przetłumaczyć ten program na DEV C++?
|
|
Powrót do góry |
|
|
>>>46<<<
PRAWIE elektronik - prawie robi...
Dołączył: 12 Paź 2006
Posty: 290
Przeczytał: 0 tematów
Skąd: Tychy
|
Wysłany: Pią 9:36, 23 Lis 2007 Temat postu: |
|
|
To pierwszy program z dwóch jaki zadał dr Kosek 22.11. grupy E3. Jeżeli ktoś ma troche doświadczenia w programowaniu obiektowym, to powinno to być dla niego łatwe. Ja takiego doświadczenia nie mam.
Firma grat dysponująca sumą 300 000zl skupuje używane samochody( wszystkie jakie są jej oferowane). Utwórz klasę Auto ( marka, model ,rok produkcji, cena) i dla każdego kupionego dla firmy samochodu obiekt typu Auto. Z klawiatury wpisuj dane kolejnych kupowanych przez grata aut, aż skonczą sie fundusze ( kolejna oferta jest wyższa niż kwota, która pozostała w kasie) Wypisz na końcu skupu ile aut kupiono. Nie używaj globalnych zmiennych dla zliczania aut i stanu kasy tylko składowych static.
|
|
Powrót do góry |
|
|
Gość
|
Wysłany: Pią 10:59, 23 Lis 2007 Temat postu: |
|
|
Zadanie z drugich punktowanych u Koska:
Cytat: |
Utwórz klasę Skoczek (narciarski) z polami (nazwa konkursu,nazwisko skoczka, ocena sumaryczna, numer startowy). Wszystkie dane z wyjatkiem nazwy konkursu sa prywatne. Konstruktor ma wszystkie argumenty domniemane (jakies rozsadne, pozwalajace wykryc, ze ich nie podano w wywołaniu). Metody: 'ocena_skoku' - wymaga 3 liczb double, a ich sume wypisuje do pola na to przeznaczonego; 'daj wynik' - zwraca wartość pola oceny sumarycznej; 'daj_nazw' - zwraca nazwisko zawodnika; 'wypisz' - wypisuje komplet informacji zgromadzonych . Utwórz 20-elementową tablice z obiektami typu Skoczek. Zapytaj o liczbę startujacych zawodnikow i wypisz ich dane do tablicy (symuluje to etap rejstracji zawodnikow). Nastepnie zażadaj ocen dla kolejnych skoczków (etap skoków) i wpisz wyniki do tablicy (jesli potrafisz to zazadaj 5 ocen sedziowskich skrajne odrzuc a sume pozostałych wpisz). Na końcu sprawdz kto wygrał i zastosuj do niego metodę 'wypisz'. Jesli wyniknajlepszy uzyskało wiecej zawodników to wyprowadz tylko nazwe konkursu i wiadomosc, ze zwyciezcami zostali ..... . Jesli potrafisz to zorganizuj przydzielanie numeru startowego wg kolejnosci rejstracji zawodnikow. |
milej zabawy...
|
|
Powrót do góry |
|
|
boguslaw
ELEKTRONIK - on już ciągnie druty
Dołączył: 22 Paź 2006
Posty: 362
Przeczytał: 0 tematów
Skąd: Tychy
|
Wysłany: Pią 12:46, 23 Lis 2007 Temat postu: |
|
|
Kosek dał też ostatnio taki programik:
Utworz klase ksiazka (dla ksiazek naukowych) zawierajaca tytul, nazwisko autora, rok wydania i pojedynczy napis zawierajacy tzw. slowa kluczowe pozwalajace sie zorientowac jakie zagadnienia sa w niej poruszane. Utw kilka obiektow klasy ksiazka (dowolnym sposobem), a następnie wprowadz jakieś slowo z kluczowe z klaw i za pomoca oprawcowanych metod wypisza pelne dane ksiazek, ktore to slowo zawierają lub wypisz "nie znaleziono slowa"
|
|
Powrót do góry |
|
|
noxon
PRAWIE elektronik - prawie robi...
Dołączył: 15 Lis 2006
Posty: 253
Przeczytał: 0 tematów
Skąd: [TK] bytom
|
Wysłany: Pią 13:18, 23 Lis 2007 Temat postu: |
|
|
Izumi napisał: | Zadanie z drugich punktowanych u Koska:
(...)
milej zabawy... |
moze nie jest do konca idealny, ale cos kolo tego :>
nie bardzo wiem o co mu chodzilo z tym konstruktorem (jak chcial zeby to wygladalo)
Kod: |
#include <iostream>
#include <string.h>
using namespace std;
#define _CRT_SECURE_NO_DEPRECATE
class skoczek{
char nazwisko[20];
double ocena;
int numer;
public:
static char konkurs[15];
void ocena_skoku(double o1,double o2,double o3){
ocena = o1+o2+o3;
}
double daj_wynik(){
return(ocena);
}
char daj_nazw(){
cout<<nazwisko;
}
void wypisz();
void wpisz(char nazw[],int nr){
strcpy_s(nazwisko,nazw);
numer = nr;
}
};
void skoczek::wypisz(){
cout<<"nazwa konkursu: "<<konkurs<<endl;
cout<<"nazwisko skoczka: "<<nazwisko<<endl;
cout<<"nr skoczka: "<<numer<<endl;
cout<<"ocena: "<<ocena<<endl;
}
char skoczek::konkurs[] = "nazwaKonkursu";
int main()
{
skoczek lista[20];
int ile,nr;
double o1,o2,o3,wynik;
char nazwisko[20];
cout<<"ilu jest zawodnikow?"<<endl;
cin>>ile;
cout<<"rejestracja zawodnikow"<<endl<<endl;
for(int i=0;i<ile;i++){
cout<<"podaj nazwisko"<<endl;
cin>>nazwisko;
cout<<"zawodnik otrzymal nr "<<i+1<<endl<<endl;
lista[i].wpisz(nazwisko,i+1);
}
cout<<endl<<"rozpoczeto etap oceniania"<<endl;
for(int i=0;i<ile;i++){
cout<<endl<<"zawodnik nr "<<i+1<<endl;
cout<<"1-sza ocena ";
cin>>o1;
cout<<"2-ga ocena ";
cin>>o2;
cout<<"3-cia ocena ";
cin>>o3;
lista[i].ocena_skoku(o1,o2,o3);
}
wynik = lista[0].daj_wynik();
nr=0;
for(int i=1;i<ile;i++){
if(lista[i].daj_wynik()>wynik){
wynik=lista[i].daj_wynik();
nr=i;
}
}
cout<<endl<<"wyniki konkursu"<<endl<<endl;
lista[nr].wypisz();
getchar();
getchar();
return 0;
}
|
|
|
Powrót do góry |
|
|
noxon
PRAWIE elektronik - prawie robi...
Dołączył: 15 Lis 2006
Posty: 253
Przeczytał: 0 tematów
Skąd: [TK] bytom
|
Wysłany: Pią 13:25, 23 Lis 2007 Temat postu: |
|
|
tu jeszcze programik, ktory mielismy wczoraj na laborkach u koska
bylo to mniej wiecej tak:
Cytat: |
utworz klase telefon (model,firma,nabywca,cena). wszytskie tel sprzedaje ta sama firma. pozostale dane wprowadz z klawiatury. zakonczenie sprzedarzy w momencie wpisania "koniec" jakos nazwysko nabywcy. wyswietlic karte gwarancyjna (wysztkie dane) dla danego nabywcy.
|
nie do konca sprecyzowane wszytsko, ale to co jest napisane mu pasowalo :>
Kod: |
#include <iostream>
#include <string.h>
using namespace std;
#define _CRT_SECURE_NO_DEPRECATE
class telefon{
static char firma[15];
char model[10],nazwisko[20];
int cena;
public:
void wypisz();
void wpisz(char nazwisko[],char model[],int cena);
};
char telefon::firma[] = "jakasFirma";
void telefon::wpisz(char nazw[],char mod[],int c){
strcpy_s(nazwisko,nazw);
strcpy_s(model,mod);
cena = c;
}
void telefon::wypisz(){
cout<<"nazwisko: "<<nazwisko<<endl;
cout<<"model: "<<model<<endl;
cout<<"firma: "<<firma<<endl;
cout<<"cena: "<<cena<<endl;
}
int main()
{
char nazwisko[20],model[10];
int cena,nrOs;
telefon telefony[3];
for(int i=0;i<3;i++){
cout<<"podaj nazwisko"<<endl;
cin>>nazwisko;
if(strcmp(nazwisko,"koniec")==0)
break;
cout<<"podaj model"<<endl;
cin>>model;
cout<<"podaj cene"<<endl;
cin>>cena;
telefony[i].wpisz(nazwisko,model,cena);
}
cout<<endl<<"podaj nr os dla ktorej wyswietlic karte"<<endl;
cin>>nrOs;
telefony[nrOs-1].wypisz();
getchar();
getchar();
return 0;
}
|
|
|
Powrót do góry |
|
|
ruonim
Tłuste zero
Dołączył: 08 Cze 2007
Posty: 30
Przeczytał: 0 tematów
Skąd: E1
|
Wysłany: Wto 20:39, 27 Lis 2007 Temat postu: |
|
|
co robi :: ? bo to znalesc w google masakra jest
|
|
Powrót do góry |
|
|
anja
Administrator
Dołączył: 09 Paź 2006
Posty: 399
Przeczytał: 0 tematów
Skąd: Zabrze | RE
|
Wysłany: Wto 20:51, 27 Lis 2007 Temat postu: |
|
|
Operator dostepu do funkcji skladowej (publicznej) danej klasy spoza tej klasy.
|
|
Powrót do góry |
|
|
staniol
ELEKTRONIK - on już ciągnie druty
Dołączył: 12 Paź 2006
Posty: 387
Przeczytał: 0 tematów
Skąd: Piekary Śl.
|
Wysłany: Czw 2:43, 29 Lis 2007 Temat postu: |
|
|
prostsze wykonanie programu roberta z ulamkami :]
Kod: | #include <iostream>
#include <string.h>
using namespace std;
#define _CRT_SECURE_NO_DEPRECATE
class ulamek{
public:
int licznik;
int mianownik;
ulamek dodaj(ulamek,ulamek);
ulamek odejmij(ulamek,ulamek);
ulamek pomnoz(ulamek,ulamek);
ulamek podziel(ulamek,ulamek);
};
ulamek ulamek::dodaj(ulamek a,ulamek b)
{
ulamek wynik;
wynik.mianownik=(a.mianownik)*(b.mianownik);
wynik.licznik=((a.licznik)*(b.mianownik))+((b.licznik)*(a.mianownik));
return wynik;
}
ulamek ulamek::pomnoz(ulamek a,ulamek b)
{
ulamek wynik;
wynik.licznik=(a.licznik)*(b.licznik);
wynik.mianownik=(a.mianownik)*(b.mianownik);
return wynik;
}
ulamek ulamek::podziel(ulamek a,ulamek b)
{
ulamek wynik;
wynik.licznik=(a.licznik)*(b.mianownik);
wynik.mianownik=(a.mianownik)*(b.licznik);
return wynik;
}
int main()
{
ulamek x,y,wynik_mnozenia,wynik_dzielenia,wynik_dodawania,wynik_odejmowania;
x.licznik=1;
x.mianownik=4;
y.licznik=1;
y.mianownik=2;
cout<<"x="<<x.licznik<<endl<<" "<<x.mianownik<<endl;
cout<<"y="<<y.licznik<<endl<<" "<<y.mianownik<<endl;
wynik_mnozenia=wynik_mnozenia.pomnoz(x,y);
cout<<"Wynik mnozenia wynosi:"<<wynik_mnozenia.licznik<<endl<<"\t\t "<<wynik_mnozenia.mianownik<<endl;
wynik_dzielenia=wynik_dzielenia.podziel(x,y);
cout<<"Wynik dzielenia wynosi:"<<wynik_dzielenia.licznik<<endl<<"\t\t "<<wynik_dzielenia.mianownik<<endl;
wynik_dodawania=wynik_dodawania.dodaj(x,y);
cout<<"Wynik dodawania wynosi:"<<wynik_dodawania.licznik<<endl<<"\t\t "<<wynik_dodawania.mianownik<<endl;
getchar();
return 0;
}
|
|
|
Powrót do góry |
|
|
tomek
Chuda Jedynka
Dołączył: 11 Paź 2006
Posty: 142
Przeczytał: 0 tematów
Skąd: Czerwionka - Leszczyny
|
Wysłany: Czw 18:02, 29 Lis 2007 Temat postu: |
|
|
Drugie punktowane zajęcia u Kłosowskiego:
Zadeklarować dwie klasy:
Pierwsza klasa o nazwie produkt zawiera następujące pola: nazwa produktu, oznaczenie kodowe produktu, cena jednostkowa, okres ważności.
Zadeklarowaać klasę o nazwie magazyn, przechowujacą informacje o produktach z klasy produkt.
Zaimplementować metody wewnątrz klasy magazyn, pozwajające na:
1) dodawanie nowego produktu do magazynu
2) usuwanie produktów z magazynu
3) dokonanie inwentaryzacji magazynu (lista produktów wraz z liczebnością
4) Wyznacanie wartosci towaru, umieszczonego w magazynie
5) wyświetlanie listy przeterminowanych produktów
I komentarz prowadzącego: I tak nie zdążycie, ocenię tyle, ile będziecie mieli
|
|
Powrót do góry |
|
|
Gość
|
Wysłany: Czw 18:33, 29 Lis 2007 Temat postu: |
|
|
Utwórz klasę M_Nx4 dla tworzonych dynamicznie na starcie macierzy z wartościami int o zadanej liczbie wierszy i 4 kolumnach. Konstruktor przeciążony pozwala utworzyć żądaną macierz wypełniając ją zerami lub zadaną wartością (wtedy ma 2 argumenty). Dostęp do elementów zrealizuj metodami: u_el(wiersz, kolumna, wartość)' wpisuje pod podane indeksy podaną w wywołaniu wartość; d_el (wiersz, kolumna) zwraca jako wynik wartość elementu macierzy. Utwórz obiekt z macierzą 10x4, zapełnij ją wpisując przez u_el kolejne liczby naturalne, następnie korzystając z metody d_el oblicz i wyświetl sumę elementów trzeciej kolumny tej macierzy.
|
|
Powrót do góry |
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
|