Hirdetés
- Apple iPhone 17 Pro Max – fennsík
- Vivo X200 Pro - a kétszázát!
- Jolla és SailfishOS tapasztalatcsere
- Milyen okostelefont vegyek?
- Apple iPhone 13 - hízott, de jól áll neki!
- Samsung Galaxy S21 Ultra - vákuumcsomagolás
- Huawei Watch Fit 3 - zöldalma
- Xiaomi 17 Ultra - jó az optikája
- OnePlus 15 - van plusz energia
- Így lehet kiszúrni, ha kamu AirPods fülest akarnak eladni neked
Ú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!
- Apple iPhone 17 Pro Max – fennsík
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen billentyűzetet vegyek?
- Mégsem lettek annyira pénztárcabarátok az új Intel CPU-k
- Gumi és felni topik
- Elektromos cigaretta 🔞
- Allegro vélemények - tapasztalatok
- Grim Dawn
- gban: Ingyen kellene, de tegnapra
- További aktív témák...
- Kiváló Logitech G29 kormány + Posta! PS5, PS4, PC, Playstation 4 5
- Kiváló Thrustmaster T150 kormány! T150 RS PS5 PS4 PC
- Eladó/BONTATLAN Lenovo LOQ i7-13650HX 24GB 1TB RTX 4060 8GB
- Eladó/BONTATLAN Lenovo LOQ i7-13650HX 16GB 1TB RTX 4060 8GB
- Eladó/BONTATLAN Lenovo LOQ i7-13650HX 16GB 512GB RTX 4060 8GB
- CoolerMaster MM710 53gr pehelykönnyű gamer egér eladó
- Honor X6 /4/64GB / Kártyafüggetlen / 12Hó Garancia
- Steam, EA, Ubisoft és GoG játékkulcsok, illetve Game Pass kedvező áron, egyenesen a kiadóktól!
- iPhone 15 Pro Max 256GB 84% (1év Garancia)
- 0perces DDR5 4800 vadiúj Ramaxel 2x12GB memória 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

