Unesite troznamenkasti broj i ispišite ga u obrnutom redosljedu.
Primjer: 123 = 321
Dakle, radi se o Visual Basicu, nerazumjem bas ovaj zadatak, a vazno mi je pa molim sve koji znaju nesto da mi pomognu. Hvala.
Unesite troznamenkasti broj i ispišite ga u obrnutom redosljedu.
Primjer: 123 = 321
Dakle, radi se o Visual Basicu, nerazumjem bas ovaj zadatak, a vazno mi je pa molim sve koji znaju nesto da mi pomognu. Hvala.
Neznam sintaksu VB ali evo napisano u javi za 15sec.
int i=0;
Scanner ulaz = new Scanner(System.in);
i= ulaz.nextInt();
int a=i/100;
int b=i%100;
int c=b/10;
int d=b%10;
System.out.println(Integer.toString(d)+Integer.toString(c)+Integer.toString(a));
Hvala, jeli mi mozes samo logicki objasnit kako da to uradim, tj. sta trebam da napravim? Nije mi problem prenit to u VB, samo da znam kako sam dosao do toga.
Ucitaj broj odijeli ga varijabli i tipa integer npr broj 123
Deklariraj varijablu a tipa integer. a=i/100 (cijelobrojno dijeljenje) -> a=123/100=1
Deklariraj varijablu b tipa integer. b=i%100 (modularno dijeljenje, dobivaš ostatak od dijeljnja) -> b=123/100=23
Deklariraj varijablu c tipa integer. c=b/10 (cijelobrojno dijeljene) -> c=23/10=2
Deklariraj varijablu d tipa integer. d=i%100 (modularno dijeljenje, dobivaš ostatak od dijeljnja) -> d=23%10=3
Ispiši obrnutim radosljednom d pa c pa a -> 321
Evo ti u C# pa samo prevedi u VB.NET ...
namespace IspisArrayListObrnuto
{
class Program
{
static void Main(string[] args)
{
ArrayList Obrnuto = new ArrayList();
int broj = 0;
Console.WriteLine("Unesite broj : ");
broj = int.Parse(Console.ReadLine());
while (broj > 0)
{
Obrnuto.Add(broj % 10);
broj = broj / 10;
}
Console.WriteLine();
foreach (int br in Obrnuto)
{
Console.Write(br);
}
Console.ReadKey();
}
}
}
Da bih ja preveo to u VB, trebam shvatit logiku, a nerazumjem ovo gore objašnjenje nikako. Moze malo lakse nekako pojasnjenje?
Evo ti u C# pa samo prevedi u VB.NET ...
namespace IspisArrayListObrnuto
{
class Program
{
static void Main(string[] args)
{
ArrayList Obrnuto = new ArrayList();
int broj = 0;
Console.WriteLine("Unesite broj : ");
broj = int.Parse(Console.ReadLine());
while (broj > 0)
{
Obrnuto.Add(broj % 10);
broj = broj / 10;
}
Console.WriteLine();
foreach (int br in Obrnuto)
{
Console.Write(br);
}
Console.ReadKey();
}
}
}
Vidis da covijek ima totalno pocetnicki zadatak i nema smisla da mu dajes zadatak sa listama ili poljima i petljama.
Prvo mora nauciti osnovne operacije i tipove podataka.
Deklariraš ArrayListu u koji trpaš brojeve koje se vrte u while petlji.
While petlja se vrti dok je broj veći od nula ,ako uneseš 234 ostatak pri djeljenju s deset je četiri ,i to se spremi u Array ,zatim je slijedeći korak broj/10 i to ispada 23 a ostatak je tri i to se doda i array ,zati se 23/10 to je 2 i sad se taj dva nan kraju doda u array i slijedi samo ispis.
432 ....to je najjednostavniji pseudo kod i objašnjenje.
Edit: Vidim i sad mi je žao što sam mu zakomplicirao....Autoru...moraš prvo naučiti operatore,tipove podataka i logiku petlji tad ćeš sve znati a dotad mislim da ti je krivi pristup učenju ako iz prva tri posta nisi shvatio psudokod tj. kako si ga sam objasniti.
Znam tipove podataka (vrjedonosni, referentni, cjelobrojno i decimalno deklariranje varijabli), petlje if, if then else, Select Case, i slično. Ali trebam da matematički skužim zadatak da ga rješim. Zato bih molio da mi kazete sta prvo treba da uradim u kodu (mislim na postavljanje formula).
Jasnije mi je sad :)
No evo probat cu sam.
Sub Main ()
Dim broj,r as Integer
Console.WriteLine ("Unesite Broj")
Broj = Console.ReadLine ()
Do While broj/10
Console.WriteLine (" Preglup sam da shvatim zadatak")
End Sub
Neide me nikako bemti....
Evo ti u VB:
Sub Main()
Dim broj, a, b, c, d As Integer
Console.WriteLine("Unesite Broj")
broj = Console.ReadLine()
a = broj / 100
b = broj Mod 100
c = b / 10
d = b Mod 10
Console.Write(d)
Console.Write(c)
Console.Write(a)
Console.WriteLine("")
End Sub
Evo ti u VB:
Sub Main()
Dim broj, a, b, c, d As Integer
Console.WriteLine("Unesite Broj")
broj = Console.ReadLine()
a = broj / 100
b = broj Mod 100
c = b / 10
d = b Mod 10
Console.Write(d)
Console.Write(c)
Console.Write(a)
Console.WriteLine("")
End Sub
Hvala ti ko bratu!
Ustvari bas je jednostavno kad pregledam malo bolje.
Hvala jos jednom mnogo! :))))
Pojasni malo bolje...
Pojasni malo bolje...
Pa recimo ukucam ukucam 385, on ispise 584 i sl. a treba da ispise 583. Kad ukcuam recimo 123, onda ispise pravilno 321.
Evo "programa" sto vrti sve naopako i to ne samo 3 LOL. Mislim da je jako jednostavno. Nabaci samo texbox na formu i jedan gumb ispod kojega prilijepi ovaj kod.
Dim a As String
Dim b As Integer
b = Len(TextBox1.Text) 'saznaj koliko ima brojki
Do Until b = 0 'petlja koja dodaje znak po znak varijabli a
a = a & Mid(TextBox1.Text, b, 1) 'pogledaj naredbu mid, ona je tu glavna :D
b = b - 1
Loop
MessageBox.Show(a)
Kraca metoda bez petlje do 3 znaka bez prijave greske
Dim a As String
On Error Resume Next 'naredba koja kaze da se produzi dalje bez obzira na gresku
a = Mid(TextBox1.Text, Len(TextBox1.Text), 1)
a = a & Mid(TextBox1.Text, Len(TextBox1.Text) - 1, 1)
a = a & Mid(TextBox1.Text, Len(TextBox1.Text) - 2, 1)
MessageBox.Show(a)
Najkraca "VB hardcore" LOL mora biti tri broja inace eror ali zato 1 red koda
Dim a As String = Mid(TextBox1.Text, 3, 1) & Mid(TextBox1.Text, 2, 1) & Mid(TextBox1.Text, 1, 1)
MessageBox.Show(a)
-koliko vidim jedino je bnaci krenuo u obradu kao txt-string. Svi ostali (pod utjecajem C-a) radije koriste matrice, modove....
-da bi znao koliko je znamenki u unešenom broju/stringu, koristi se len() -taj dio može biti identičan
ako je uneseno 1234 -četiri znamenke, len=4, dalje možemo matematikom (dijelenje s 1000, 100...) kako su već prikazali kolege, ali može se koristiti i elegantniji način, 10^(len-1) u petlji.... na taj način bi duljina unesenog broja bila proizvoljna.
Pošto sama operacija mirorringa, nije matematička, može se upotrijebiti textualni način rada... kao što je bnaci prikazao.
samo je pitanje koju for petlju želimo izvesti... npr do while/when/until ili for next ... za ovaj primjer je brže čitanje s desna-na-lijevo.
-dodatno, textualni način rada u ovom slučaju je brži jer nema dijeljenja, koje je vrlo spora opearacija.
in$="12345" (upisan broj, ili bilo koji text, dodatno ako se barata s brojem postoji i predznak)
a$="": b$="": xlen=len
do:a$=mid$(in$, xlen, 1):b$=b$+a$:xlen=xlen-1:while xlen>1
print b$
-sigurno ima grešaka, jer ovo nisam radio od prošlog stoljeća, ... ali mislim da se može iskoristiti.
Pojasni malo bolje...
Pa recimo ukucam ukucam 385, on ispise 584 i sl. a treba da ispise 583. Kad ukcuam recimo 123, onda ispise pravilno 321.
Kao sto rekoh nisa bas upotpounosti upoznat sa sintaksom VB.
Problem u gornjem zadataku je bio sto VB ima poseban operator za cijlobrojno dijeljene i on je \
Dakle ispravan zadatak izgleda
Sub Main()
Dim broj, a, b, c, d As Integer
Console.WriteLine("Unesite Broj")
broj = Console.ReadLine()
a = broj \ 100
b = broj Mod 100
c = b \ 10
d = b Mod 10
Console.Write(d)
Console.Write(c)
Console.Write(a)
Console.WriteLine("")
End Sub
e ovako zanima me da li bi mi neko mogao pomoci oko visual basica..dobio sam zadatak da za maturski rad osmislim zadatak veoma komplikovan na primjer da uradis ono sistem hotela npr..da ukucan podatke korisnika,koja je soba,sta je koristio koju sobu je uzeo i tako to sve...e tako bi mi trebao neki komplikovan zadatak pa me zanima ima li ko kakav prijedlog i da mi pomogne #1 hvala
Pozdrav svima,
imam i ja problem sa zadatkom, a vidim da vi ovdje rješavate kao od šale sve... pa rekoh da i ja potražim pomoć.
ovako, treba da napišem program koji nalazi nulu linearne funkcije y=x-2 u segmentu [1,5], n-sekcijom segmenta n=10.
vjerovatno je smiješno lako, ali ne mogu ni naopako da počnem. hvala unaprijed 
dobro, odustala sam od ovog zadatka.
može li neko da mi pomogne oko ovog drugog problema?
kako da obrišem nepotrebne razmake u unesenom tekstu? da između riječi bude samo po jedan
