🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#583
Author: Fredo
Date: Tue, 16 Mar 2004 10:18
18 lines
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
#584
Author: Marek Janaszewski USUNTO. z adre...
Date: Tue, 16 Mar 2004 13:20
28 lines
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
#585
Author: Fredo
Date: Wed, 17 Mar 2004 07:18
20 lines
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
#587
Author: Marcin Załęczny
Date: Thu, 18 Mar 2004 23:18
43 lines
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
#586
Author: Marcin Załęczny
Date: Thu, 18 Mar 2004 23:23
15 lines
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