Sada je: 19 ožu 2024, 03:53.
C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
Pozdrav, imam cpp kod koji racuna iz binarnog u dekatski. Htio bih napraviti da konstantno mogu upisivati vrijednost i računati, a ne nakon izračuna da mi se konzola ugasi. Guglao sam i vidim da se radi preko do while petlje ali sam jos početnik i ne znam di bih to tocno ubacio u kod... Zna li netko? Hvala :hihi
Kod: Označi sve
#include <iostream>
#include <cmath>
using namespace std;

int main () {
    int unos;
    cout << "Unesi 4-znamenkasti binarni broj: " ;
    cin >> unos;

    if(unos / 10000 > 0) {
    cout << "Unos nije ispravan";
    }
    else if(unos%10>1 || (unos/10)%10>1 || (unos/100)%10>1 || (unos/1000)%10>1) {
    cout << "Koristi iskljucivo 1 i 0!";
    }
    else {
    int dec = 0;
    ((unos/1000)%10==1)?dec+=8:dec+=0;
   ((unos/100)%10==1)?dec+=4:dec+=0;
   ((unos/10)%10==1)?dec+=2:dec+=0;
   (unos%10==1)?dec+=1:dec+=0;
   cout<< "Dekatska vrijednost binarnog broja iznosi: " <<dec<<endl;

    }

    return 0;
    system ("pause");
}
Postovi: 25
Postovi: 25
Pridružen/a: 21 sij 2019, 00:54
Lokacija: Zagreb
Podijelio/la zahvalu: 3 puta
Primio/la zahvalu: 0 puta
Spol: M
OS: Win 10 Pro / Ubuntu
Ovo je modificirana verzija tvog koda tako da se ponavlja dok ne upišeš 2, a na 2 se prestane izvršavati:
Kod: Označi sve
#include <iostream>
#include <cmath>
using namespace std;

int main () {
  int unos, t;
  do{
    cout << "Unesi 4-znamenkasti binarni broj: " ;
    cin >> t;
    if(t == 2) break;
    unos = t;
    if(unos / 10000 > 0) {
      cout << "Unos nije ispravan";
    }
    else if(unos%10>1 || (unos/10)%10>1 || (unos/100)%10>1 || (unos/1000)%10>1) {
      cout << "Koristi iskljucivo 1 i 0!";
    }
    else {
      int dec = 0;
      ((unos/1000)%10==1)?dec+=8:dec+=0;
      ((unos/100)%10==1)?dec+=4:dec+=0;
      ((unos/10)%10==1)?dec+=2:dec+=0;
      (unos%10==1)?dec+=1:dec+=0;
      cout<< "Dekatska vrijednost binarnog broja iznosi: " <<dec<<endl;

    }

  } while(1);
  return 0;
  system ("pause");
}


Ovo ti je C program koji bilo koji dekadski broj (koji stane u int) pretvara u bilo koju bazu <=10. (Ne nosi se lijepo sa slučajevima kad je baza >10):

Kod: Označi sve
#include <stdio.h>

int dekbin(int a, int b){
   if(b<2){printf("nedozvoljen unos");return -2;}
   int ab=0;
   int c=0;
   int t;
   
   while(a!=0){
      t=a%b;
      a=a/b;
      int pot=1;
      for(int i=0;i<c;i++){pot*=10;}
      ab=t*pot+ab;
      c++;
   }
   return ab;
}

int main(void){
   int a, baza;
   scanf("%d %d", &a, &baza);

   printf("%d", dekbin(a,baza));

   return 0;
}


Ovo je program koji pretvara iz bilo koje baze <=10 u bazu 10 (dekadsku). Isto se ne nosi lijepo s rubnim slučajevima.
Kod: Označi sve
#include <stdio.h>

int dekbin(int a, int b){
   if(b<2){printf("nedozvoljen unos");return -2;}
   int ab=0;
   int c=0;
   int t;
   
   while(a!=0){
      t=a%10;
      a=a/10;
      int pot=1;
      for(int i=0;i<c;i++){pot*=b;}
      ab=t*pot+ab;
      c++;
   }
   return ab;
}

int main(void){
   int a, baza;
   scanf("%d %d", &a, &baza);

   printf("%d", dekbin(a,baza));

   return 0;
}


Na istu do-while foru kao u primjeru gore ih možeš modificirati da se izvršavaju do terminacije :)
Avatar
Site Admin
Postovi: 4639
Site Admin
Postovi: 4639
Pridružen/a: 07 ožu 2009, 17:00
Podijelio/la zahvalu: 101 puta
Primio/la zahvalu: 209 puta
Spol: M
OS: fedora 34
Hvala puno!
Postovi: 25
Postovi: 25
Pridružen/a: 21 sij 2019, 00:54
Lokacija: Zagreb
Podijelio/la zahvalu: 3 puta
Primio/la zahvalu: 0 puta
Spol: M
OS: Win 10 Pro / Ubuntu
možeš pretvarati u deksadke hexadeksadke i slicnu u pytohnu u par linija koda.. nemoj se muciti s tim C++om
s3m
Postovi: 2
Postovi: 2
Pridružen/a: 14 ožu 2022, 02:10
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 0 puta
Spol: Ž
OS: Ubuntu
Cek, jel ovaj tvoj jedini post pokusaj promoviranja tvog foruma koji je u linku u tvom profilu, ima jednog usera, hostan je na free hostingu na random domeni i svodi se na tvoje… samostalno postanje?

Rekao bih da nemas puno godina, i to je sasvim okej :)

Ako sam u krivu, isprike radi te pretpostavke, ali onda je to drugaciji razgovor - što se vidi iz same moje pretpostavke.

Ja sam se učlanio na ovaj forum sa, sad u retrospektivi, puno premalo godina da bih uopce bio na internetu u mjeri u kojoj sam bio: ali biti dio takvih computer/hacker zajednica i konstantno se challengati da naučim nove stvari (jer su mi bile jako zanimljive) mi je pomoglo da zapravo imam karijeru u developmentu, kao i da upoznam neke izvrsne ljude.

Krenuo sam i sam s nekim takvim projektima poput tebe, ali nisu zaživjeli (iz danas očitih razloga: zajednice se jednostavno ne rađaju tako).

Moj savjeti za tebe su:
1. ne bježi od stvari koje su teške (C u odnosu na Python, iako je mozda prerano da ga ucis) - jer te uce puno bolje razmisljati o problemima, a to je jedna od najkorisnijih vještina u zivotu. možeš ovaj program napisati u liniji koda u mnogim drugim jezicima, ali to ti neće objasniti što brojevne baze jesu, i sakrit će od tebe kako doista softver funkcionira (upravljanje memorijom i slicno)
2. pridruzi se postojećim zajednicama koje imaju slicne kolektivne interese poput tebe, sudjeluj u njima i uči iz njih umjesto da pokušavaš razviti svoje (što jest samo po sebi zabavno, što je - je)
3. pazi se na internetu :)
Avatar
Site Admin
Postovi: 4639
Site Admin
Postovi: 4639
Pridružen/a: 07 ožu 2009, 17:00
Podijelio/la zahvalu: 101 puta
Primio/la zahvalu: 209 puta
Spol: M
OS: fedora 34
iweb je napisao/la:Cek, jel ovaj tvoj jedini post pokusaj promoviranja tvog foruma koji je u linku u tvom profilu, ima jednog usera, hostan je na free hostingu na random domeni i svodi se na tvoje… samostalno postanje?

Kad Vl@do vidi kombinaciju boja imati će dva :-D

iweb je napisao/la:Ja sam se učlanio na ovaj forum sa, sad u retrospektivi, puno premalo godina da bih uopce bio na internetu u mjeri u kojoj sam bio: ali biti dio takvih computer/hacker zajednica i konstantno se challengati da naučim nove stvari (jer su mi bile jako zanimljive) mi je pomoglo da zapravo imam karijeru u developmentu, kao i da upoznam neke izvrsne ljude.

A ti si poseban, trebalo mi je par mjeseci da pohvatam da nemaš koliko kažeš da imaš :-D

PS. Ti i max360se ste mi u to vrijeme bili pod povećalom :hihi
[+ Prikaži] Klik
ThinkPad T14s Gen. 1
AMD Ryzen 7 PRO 4750U
16 GB DDR4-3200
Samsung SSD 970 EVO Plus 2TB
14" FHD IPS (Innolux N140HCG-GQ2)
WiFi Intel® Wi-Fi® 6 AX200
OS: Debian 6 Cinnamon
Slika: dio kolekcije

***

ZEN
"Charlie. What are you thinking?"
"I'm thinking about what I want and what I need."
"What do you want?"
"I want a peaceful soul."
"And what do you need?"
"I need a bigger gun."
Avatar
Site Admin
Postovi: 11316
Site Admin
Postovi: 11316
Pridružen/a: 01 kol 2012, 12:39
Podijelio/la zahvalu: 654 puta
Primio/la zahvalu: 1005 puta
Spol: M
OS: LinuxMint Cinnamon
Sasvim opravdano :)
Avatar
Site Admin
Postovi: 4639
Site Admin
Postovi: 4639
Pridružen/a: 07 ožu 2009, 17:00
Podijelio/la zahvalu: 101 puta
Primio/la zahvalu: 209 puta
Spol: M
OS: fedora 34

Na mreži
Trenutno korisnika/ca: / i 2 gostiju.