Thread View: alt.pl.comp.lang.csharp
5 messages
5 total messages
Started by Fredo
Tue, 16 Mar 2004 10:18
pewnie proste rozwi±zanie
Author: Fredo
Date: Tue, 16 Mar 2004 10:18
Date: Tue, 16 Mar 2004 10:18
18 lines
1706 bytes
1706 bytes
Chc� napisa� program, kt�ry zamieni mi podan� liczb� w kodzie dziesi�tnym na
kod dw�jkowy. mam taki fragment kodu, kt�ry w pewnym sensie robi co�
podobnego, ale nie do ko�ca. Podpowiedzcie mi jak przypisa� liczb�, kt�
poda u�ytkownik, do tablicy tab, oraz jak doda� do siebie wyniki podnoszenia
do pot�gi.
int[] tab = {1,2,3,4,5};
for(int index = 0; index!= tab.Length; index++)
{
int pin = tab[index];
double wyn = pin * Math.Pow(2,index);
Console.WriteLine(wyn);
}
Bardzo prosz� o wszelkie wskaz�wki
Radek
Re: pewnie proste rozwiązanie
Author: Marek Janaszewski USUNTO. z adre...
Date: Tue, 16 Mar 2004 13:20
Date: Tue, 16 Mar 2004 13:20
28 lines
2240 bytes
2240 bytes
W artykule news:c36kes$84l$1...@nemesis.news.tpi.pl, niejaki(a): Fredo z adresu <fer...@wp.pl> napisał(a): > Chcę napisać program, który zamieni mi podaną liczbę w kodzie > dziesiętnym na kod dwójkowy. mam taki fragment kodu, który w pewnym > sensie robi coś podobnego, ale nie do końca. Podpowiedzcie mi jak > przypisać liczbę, któą poda użytkownik, do tablicy tab, oraz jak > dodać do siebie wyniki podnoszenia do potęgi. [...] Witam! Kod w Pascalu, ale wydaje mi się, że powinien się przydać: http://delphi.cartall.com.pl/Pytania/no-frames.html#b112 Najwygodniej liczby w różnych systemach przechowywać w stringach i konwertować na liczbę. Taką liczbę przechowywaną w zmiennej integer można przekonwertować na string w dowolnym systemie. Tak to zostało wykonane przykładzie. W Pascalu div to operator dzielenia całkowitego, a mod to reszta z dzielnie. Np. 3 div 2 = 1 a 3 mod 2 = 1. Funkcje CharToInt i IntToChar bazują na kolejności w jakiej występują poszczególne znaki z ASCII, jeśli to stanowiło by jakiś problem można użyć tablicy do mapowaniu znaku '0' na jego wartość czyli 0, 'F' = 15. -- Pozdrawiam, Marek Janaszewski [ j_m...@gazeta.pl ]
Re: pewnie proste rozwi±zanie
Author: Fredo
Date: Wed, 17 Mar 2004 07:18
Date: Wed, 17 Mar 2004 07:18
20 lines
1913 bytes
1913 bytes
> Kod w Pascalu, ale wydaje mi si�, �e powinien si� przyda�: > http://delphi.cartall.com.pl/Pytania/no-frames.html#b112 > > Najwygodniej liczby w r�nych systemach przechowywa� w stringach i > konwertowa� na liczb�. Tak� liczb� przechowywan� w zmiennej integer mo�na > przekonwertowa� na string w dowolnym systemie. Tak to zosta�o wykonane > przyk�adzie. W Pascalu div to operator dzielenia ca�kowitego, a mod to > reszta z dzielnie. Np. 3 div 2 = 1 a 3 mod 2 = 1. Funkcje CharToInt i > IntToChar bazuj� na kolejno�ci w jakiej wyst�puj� poszczeg�lne znaki z > ASCII, je�li to stanowi�o by jaki� problem mo�na u�y� tablicy do mapowaniu > znaku '0' na jego warto�� czyli 0, 'F' = 15. Dzi�kuj� za pomoc, ju� zagl�dn���m i bior� si� za analiz� kodu. pozdrawiam Radek
Re: pewnie proste rozwiązanie
Author: Marcin Załęczny
Date: Thu, 18 Mar 2004 23:18
Date: Thu, 18 Mar 2004 23:18
43 lines
2378 bytes
2378 bytes
Dnia Tue, 16 Mar 2004 11:18:39 +0100, Fredo <fer...@wp.pl> napisał:
> Chcê napisaæ program, który zamieni mi podan± liczbê w kodzie dziesiêtnym
> na
> kod dwójkowy. mam taki fragment kodu, który w pewnym sensie robi co¶
> podobnego, ale nie do koñca. Podpowiedzcie mi jak przypisaæ liczbê, któ±
> poda u¿ytkownik, do tablicy tab, oraz jak dodaæ do siebie wyniki
> podnoszenia
> do potêgi.
>
>
Jesli chcesz dodawac nowe liczby do tablicy, ktora juz w calosci
wypelniles, to polecam klase ArrayList:
ArrayList al = new ArrayList();
int x = 10; // wartosc podana przez usera
al.Add(x);
int y = (int)al[0]; // rzutowanie jest wazne, bo ArrayList
// przechowuje zmienne typu object
Z dodawaniem do zwyklej tablicy jest troche zachodu (trzeba
utworzyc nowa tablice, co najmniej o jeden element wieksza,
przekopiowac do niej zawartosc poprzedniej i tuz za ostatnim
elementem zapisac nowy, na koniec wynullowac odwolanie na
stara tablice).
Co do sumowania, to jest ono bardzo proste:
int[] tab = {1,2,3,4,5};
double suma_wyn = 0; // suma wynikow
for(int index = 0; index!= tab.Length; index++)
{
int pin = tab[index];
double wyn = pin * Math.Pow(2,index);
double suma_wyn += wyn;
Console.WriteLine(wyn);
}
Console.WriteLine(suma_wyn);
--
pozdrawiam,
Marcin Zaleczny
Re: pewnie proste rozwiązanie
Author: Marcin Załęczny
Date: Thu, 18 Mar 2004 23:23
Date: Thu, 18 Mar 2004 23:23
15 lines
1441 bytes
1441 bytes
Dnia Tue, 16 Mar 2004 14:20:49 +0100, Marek Janaszewski (USUN_TO. z adresu!) <USUN_TO...@gazeta.pl> napisał: > ... > przykładzie. W Pascalu div to operator dzielenia całkowitego, a mod to > reszta z dzielnie. Np. 3 div 2 = 1 a 3 mod 2 = 1. Funkcje CharToInt i > ... Troche nieszczesliwy przyklad tutaj przytoczyles ;) Wyniki oczywiscie dobre, ale lepiej by wygladal przyklad dajacy rozne wartosci: 5 div 2 = 2, 5 mod 2 = 1. -- pozdrawiam, Marcin Zaleczny
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads