Hirdetés
- LCD, plazma és projektoros TV-k hibái
- Korrektnek látszó, ésszel árazott egeret dobott piacra a Corsair
- TCL LCD és LED TV-k
- Harmincadik születésnapja alkalmából megújult az AIDA64
- AMD Navi Radeon™ RX 9xxx sorozat
- Sony MILC fényképezőgépcsalád
- Gaming notebook topik
- VR topik (Oculus Rift, stb.)
- ASUS ROG Ally
- Milyen videókártyát?
Új hozzászólás Aktív témák
-
válasz
cellpeti #765 üzenetére
Hali!
Köszönöm a hozzászólást!
Itt a kód, ami (miután tisztáztuk, hogy mit is kell írni) 10 perc alatt készült...#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#define MAXBINARIES 16
#define MAXBITS 16
#define NUMBERINDEX 0
#define BITCOUNTINDEX 1
char BinaryDigits[MAXBITS+1];
int BinariesCount=0;
unsigned int Numbers[MAXBITS][2];
unsigned int btou(int bitnumber, char s[]) {
int i;
unsigned int number=0;
for (i=bitnumber-1;i>=0;i--) {
if (BinaryDigits[i]) number+=pow(2,bitnumber-i-1);
}
return number;
}
int bin(int bitnumber, char s[]) {
int i;
for (i=0;i<bitnumber;i++) {
if (BinaryDigits[i]!=0 && BinaryDigits[i]!=1) {
printf("Nem binaris szam, probalja ujra...\n");
return 0;
}
}
Numbers[BinariesCount][BITCOUNTINDEX]=bitnumber;
Numbers[BinariesCount++][NUMBERINDEX]=btou(bitnumber,BinaryDigits);
return 1;
}
void InputBinaries() {
int i,j,ch;
printf("Kerem a szamokat binaris formaban (max. 16 darab, max. 16 bites szamot)\n\n");
for (i=0;i<MAXBINARIES;i++) {
do {
printf("%02d. szam: ",i+1);
j=0;
do {
ch = getchar();
BinaryDigits[j++] = ch-'0';
}
while( ch!='\n' && ch!=EOF && j <= MAXBITS);
fflush(stdin);
if (j==1) return;
}
while (!(bin(j-1,BinaryDigits)));
}
return;
}
void bintoscreen(int binariesndx) {
int i;
unsigned int a;
a=Numbers[binariesndx][NUMBERINDEX];
i=MAXBITS-Numbers[binariesndx][BITCOUNTINDEX];
for (;i>0;i--) printf("0");
for (i=Numbers[binariesndx][BITCOUNTINDEX]-1;i>=0;i--) {
printf((a & (unsigned int)pow(2,i)) ? "1":"0");
}
}
void bintoscreenXOR(int binariesndx) {
int i,j,highbitcount;
unsigned int a,b,c;
highbitcount=0;
a=Numbers[binariesndx][NUMBERINDEX];
b=Numbers[binariesndx+1][NUMBERINDEX];
c=a^b;
if (Numbers[binariesndx][BITCOUNTINDEX]>Numbers[binariesndx+1][BITCOUNTINDEX])
i=MAXBITS-Numbers[binariesndx][BITCOUNTINDEX];
else i=MAXBITS-Numbers[binariesndx+1][BITCOUNTINDEX];
j=i;
for (;i>0;i--) printf("0");
for (i=MAXBITS-j-1;i>=0;i--) {
if (c & (unsigned int)pow(2,i)) {
printf("1");
highbitcount++;
}
else printf("0");
}
printf("\t%9u\t",a^b);
printf((highbitcount % 2) ? "Paratlan" : "Paros");
}
int main() {
int i;
printf("Peldaprogram by Fire/SOUL/CD [Code::Blocks 8.02]\n\n");
InputBinaries();
if (BinariesCount) {
printf("\nSorszam\tBinaris\t\t\tDecimalis\n\n");
for (i=0;i<BinariesCount;i++) {
printf("%02u.\t",i+1);
bintoscreen(i);
printf("\t%9u\n",Numbers[i][NUMBERINDEX]);
}
if (BinariesCount>1) {
printf("\nSorszam\tBinaris\t\t\tDecimalis\tMagas bitek\n\n");
for (i=0;i<BinariesCount-1;i++) {
printf("%02u.\t",i+1);
bintoscreen(i);
printf("\t%9u\n",Numbers[i][NUMBERINDEX]);
printf("%02u.\t",i+2);
bintoscreen(i+1);
printf("\t%9u\n",Numbers[i+1][NUMBERINDEX]);
printf("XOR\t");
bintoscreenXOR(i);
printf("\n\n");
}
}
}
else printf("\nNem adott meg egyetlen binaris szamot sem...\n\n");
printf("\nA kilepeshez usson le egy billentyut...");
getch();
return 0;
}Fire.
UI: szerintem is többet ér megírni egy progit, mintha nem válaszolna rá esetleg senki
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Microsoft Surface Pro 7 Érintős Szétszedhető Laptop Tablet 12,3" -80% i5-1035G4 8/256 Retina
- Mars Gaming MK60W 60% Mechanikus Blue Switches Gamer Billentyűzet Spanyol Kiosztás
- 2019 - BMW I3S 120Ah
- ASUS ROG Strix G15 144Hz / AMD Ryzen 5 / RTX 3050Ti / 16GB RAM / 512GB SSD
- Microsoft Surface Pro 7+ Érintős Szétszedhető Laptop Tablet 12,3" -80% i5-1135G7 16/256 Retina
- GYÖNYÖRŰ iPhone 11 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3263, 100% Akkumulátor
- HIBÁTLAN iPhone 12 mini 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3292
- Bomba ár! Fujitsu LifeBook U728 - i3-8GEN I 16GB I 192SSD I 12,5" FHD I Cam I W11 I Garancia!
- Xiaomi Redmi 14C 128GB Kártyafüggetlen 1Év Garanciával
- HIBÁTLAN iPhone 12 mini 64GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3451
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest