#include<iostream>
#include<iomanip>
#include<string>
using namespace std;
int main( )
{
int i,j;
int const n= 3 ;
int const m= 4 ;
int a[ m] [ n] = { { 2015 ,8000 ,80 } ,
{ 2014 ,6000 ,45 } ,
{ 2011 ,3000 ,65 } ,
{ 2019 ,1999 ,20 } } ;
char t[ ] = "---------------------------------------------------------" ;
cout << setw( 33 ) << " BUY OR RENT A CAR" << endl;
cout << t<< endl;
cout << setw( 6 ) << "model" << setw( 9 ) << "year" << setw( 14 ) << "sale price" << setw( 8 ) << "rent " << endl;
cout << t<< endl;
string modeli[ m] = { "BMW" ,"AUDI" ,"FIAT" ,"HONDA" } ;
for ( i= 0 ; i< m; i++ ) {
cout << setw( 5 ) << modeli[ i] ;
for ( j= 0 ; j< n; j++ ) {
cout << setw( 10 ) << a[ i] [ j] ;
}
cout << "\n " ;
}
cout << t;
cout << "\n \n " ;
//seleketimi i makines dhe cimi i saj per rent ose buy dalja nga programi ; (a.s)
string str1;
string str2;
string str3;
int ucar;
int s;
fillim1:
cout << "What service do you want buy or rent ? " << endl;
cin >> str1;
if ( str1== "buy" ) {
goto fillim;
}
else if ( str1== "rent" ) {
goto fillim;
}
else if ( str1== "Buy" ) {
goto fillim;
}
else if ( str1== "BUY" ) {
goto fillim;
}
else {
cout << " WE CANT FIND THIS SERVICE " << endl;
cout << "DO WANT TO TRY AGAIN " << endl;
cin >> str3;
if ( str3== "yes" ) {
goto fillim1;
}
else if ( str3== "Yes" ) {
goto fillim1;
}
else if ( str3== "YES" ) {
goto fillim1;
}
else if ( str3== "no" ) {
goto fund;
}
else if ( str3== "No" ) {
goto fund;
}
else {
goto fund;
}
cout << "\n " ;
fillim:
cout << "what car do you want ?" << endl;
cin >> str2;
cout << "\n " ;
if ( str1== "buy" ) {
cout << "contact for more +355 67 713 4666" << endl;
}
else if ( str1== "Buy" ) {
cout << "contact for more +355 67 713 4666" << endl;
}
else if ( str1== "BUY" ) {
cout << "contact for more +355 67 713 4666" << endl;
}
else if ( str1== "rent" ) {
cout << " how many days do you want to use the car ?" << endl;
cin >> ucar;
for ( i= 0 ; i< m; i++ ) {
if ( str2== modeli[ i] ) {
s= ucar* a[ i] [ 2 ] ;
cout << t<< endl;
cout << "THE TOTAL RENT BILL IS " << s<< "$" << endl;
cout << t<< endl;
}
}
}
fund:
cout << t;
cout << "\n " ;
cout << "GOODBYE HAVE A NICE DAY SIR! " << endl;
cout << t<< endl;
return 0 ;
}
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGlvbWFuaXA+CiNpbmNsdWRlPHN0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKQp7ICAKICAgIGludCBpLGo7CiAgICBpbnQgY29uc3Qgbj0zOwogICAgaW50IGNvbnN0IG09NDsKICAgIGludCBhW21dW25dPXt7MjAxNSw4MDAwLDgwfSwKICAgICAgICAgICAgICAgICB7MjAxNCw2MDAwLDQ1fSwKICAgICAgICAgICAgICAgICB7MjAxMSwzMDAwLDY1fSwKICAgICAgICAgICAgICAgICB7MjAxOSwxOTk5LDIwfX07IAogICBjaGFyIHRbXT0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIjsKICAgY291dDw8c2V0dygzMyk8PCIgQlVZIE9SIFJFTlQgQSBDQVIiPDxlbmRsOwogICBjb3V0PDx0PDxlbmRsOwogICBjb3V0PDxzZXR3KDYpPDwibW9kZWwiPDxzZXR3KDkpPDwieWVhciI8PHNldHcoMTQpPDwic2FsZSBwcmljZSI8PHNldHcoOCk8PCJyZW50ICI8PGVuZGw7CiAgIGNvdXQ8PHQ8PGVuZGw7CiAgIHN0cmluZyBtb2RlbGlbbV09eyJCTVciLCJBVURJIiwiRklBVCIsIkhPTkRBIn07CiAgICAgIAogICAgICAgICAgICAgZm9yKGk9MDtpPG07aSsrKXsKICAgICAgICAgICAgICAgICBjb3V0PDxzZXR3KDUpPDxtb2RlbGlbaV07CiAgICAgICAgICAgICBmb3Ioaj0wO2o8bjtqKyspewogICAgICAgICAgICAgIGNvdXQ8PHNldHcoMTApPDxhW2ldW2pdOwogICAgICAgICAgICAgIAogICAgICAgIH0KICAgICAgY291dDw8IlxuIjsKICAgIH0KICAgICBjb3V0PDx0OwogICAgIGNvdXQ8PCJcblxuIjsKIAogICAgICAKICAgICAgCiAgICAgIC8vc2VsZWtldGltaSBpIG1ha2luZXMgZGhlIGNpbWkgaSBzYWogcGVyIHJlbnQgb3NlIGJ1eSBkYWxqYSBuZ2EgcHJvZ3JhbWkgOyAoYS5zKQogICAgICAgc3RyaW5nIHN0cjE7CiAgICAgICBzdHJpbmcgc3RyMjsKICAgICAgIHN0cmluZyBzdHIzOwogICAgICAgaW50IHVjYXI7CiAgICAgICBpbnQgczsKICAgICAgICAgZmlsbGltMToKICAgICAgICAgY291dDw8IldoYXQgc2VydmljZSBkbyB5b3Ugd2FudCBidXkgb3IgcmVudCAgPyAiPDxlbmRsOwogICAgICAgICBjaW4+PnN0cjE7CiAgICAgICAgIGlmKHN0cjE9PSJidXkiKXsKICAgICAgICAgIGdvdG8gZmlsbGltOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYoc3RyMT09InJlbnQiKXsKICAgICAgICAgIGdvdG8gZmlsbGltOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBlbHNlIGlmKHN0cjE9PSJCdXkiKXsKICAgICAgICAgZ290byBmaWxsaW07CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZihzdHIxPT0iQlVZIil7CiAgICAgICAgICBnb3RvIGZpbGxpbTsKICAgICAgICAgfSAKICAgICAgICAgCiAgICAgICAgIGVsc2V7CiAgICAgICAgICBjb3V0PDwiIFdFICBDQU5UIEZJTkQgVEhJUyBTRVJWSUNFICI8PGVuZGw7CiAgICAgICAgICBjb3V0PDwiRE8gV0FOVCBUTyBUUlkgQUdBSU4gICAiPDxlbmRsOwogICAgICAgICAgY2luPj5zdHIzOwogICAgICAgICAgaWYoc3RyMz09InllcyIpewogICAgICAgICAgICBnb3RvIGZpbGxpbTE7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIGlmKHN0cjM9PSJZZXMiKXsKICAgICAgICAgICAgZ290byBmaWxsaW0xOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSBpZihzdHIzPT0iWUVTIil7CiAgICAgICAgICAgIGdvdG8gZmlsbGltMTsKICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgaWYoc3RyMz09Im5vIil7CiAgICAgICAgICBnb3RvIGZ1bmQ7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZihzdHIzPT0iTm8iKXsKICAgICAgICAgIGdvdG8gZnVuZDsKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKICAgICAgICAgIGdvdG8gZnVuZDsKCiAgICAgICAgIH0KICAgICAgIAogICAgICAKICAgICAgCiAgICAgICBjb3V0PDwiXG4iOwogICAgICAgCiAgICAgICAgZmlsbGltOiAgICAgICAgIAogICAgICAgY291dDw8IndoYXQgY2FyIGRvIHlvdSB3YW50ICA/Ijw8ZW5kbDsKICAgICAgIGNpbj4+c3RyMjsKICAgICAgIGNvdXQ8PCJcbiI7CiAgICAgICAgICAKCiAgICAgICAgICBpZihzdHIxPT0iYnV5Iil7CiAgICAgICAgICAgIGNvdXQ8PCJjb250YWN0IGZvciBtb3JlICszNTUgNjcgNzEzIDQ2NjYiPDxlbmRsOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSBpZihzdHIxPT0iQnV5Iil7CiAgICAgICAgICAgICBjb3V0PDwiY29udGFjdCBmb3IgbW9yZSArMzU1IDY3IDcxMyA0NjY2Ijw8ZW5kbDsKICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgaWYoc3RyMT09IkJVWSIpewogICAgICAgICAgICAgY291dDw8ImNvbnRhY3QgZm9yIG1vcmUgKzM1NSA2NyA3MTMgNDY2NiI8PGVuZGw7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIGlmIChzdHIxPT0icmVudCIpewogICAgICAgICAgICAgY291dDw8IiBob3cgbWFueSBkYXlzIGRvIHlvdSB3YW50IHRvIHVzZSB0aGUgY2FyID8iPDxlbmRsOwogICAgICAgICAgICAgICBjaW4+PnVjYXI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIGZvcihpPTA7aTxtO2krKyl7CiAgICAgICAgICAgICAgICBpZihzdHIyPT1tb2RlbGlbaV0pewogICAgICAgICAgICAgICAgICAgIHM9dWNhciphW2ldWzJdOwogICAgICAgICAgICAgICAgICBjb3V0PDx0PDxlbmRsOwogICAgICAgICAgICAgIGNvdXQ8PCJUSEUgVE9UQUwgUkVOVCBCSUxMICBJUyAiPDxzPDwiJCI8PGVuZGw7CiAgICAgICAgICAgICAgICBjb3V0PDx0PDxlbmRsOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgfSAgCiAgICAgICAgICBmdW5kOgogICAgICAgICAgY291dDw8dDsKICAgICAgICAgIGNvdXQ8PCJcbiI7CiAgICAgICAgICBjb3V0PDwiR09PREJZRSBIQVZFIEEgTklDRSBEQVkgU0lSISAiPDxlbmRsOwogICAgICAgICAgY291dDw8dDw8ZW5kbDsKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgfQp9
stdin
LyogIEJlcmVjaG51bmcgZGVzIEhhbW1pbmctQWJzdGFuZGVzIHp3aXNjaGVuIHp3ZWkgMTI4LUJpdCBXZXJ0ZW4gaW4gCSovCi8qCWVpbmVyIFRleHRkYXRlaS4gCQkJCQkJCQkJCQkJCSovCi8qICBEaWUgV2VydGUgbSZ1dW1sO3NzZW4gYXVmIGVpbmVyIHNlcGFyYXRlbiBaZWlsZSBnZXNwZWljaGVydCBzZWluCQkJKi8KLyogCQkJCQkJCQkJCQkJCQkJCQkJKi8KLyoJRXJzdGVsbHQ6IDE3LjUuMjAxMAkJCQkJCQkJCQkJCQkqLwovKiAgQXV0b3I6IFRob21hcyBTY2hlZmZsZXIJCQkJCQkJCQkJCQkqLwoKI2luY2x1ZGUgJmx0O3N0ZGlvLmgmZ3Q7CiNpbmNsdWRlICZsdDtzdGRsaWIuaCZndDsKCiNkZWZpbmUgQVJSQVlfU0laRSAzMgoKdW5zaWduZWQgSGFtZGlzdCh1bnNpZ25lZCB4LCB1bnNpZ25lZCB5KQp7CiAgdW5zaWduZWQgZGlzdCA9IDAsIHZhbCA9IHggXiB5OwogCiAgLy8gQ291bnQgdGhlIG51bWJlciBvZiBzZXQgYml0cwogIHdoaWxlKHZhbCkKICB7CiAgICArK2Rpc3Q7IAogICAgdmFsICZhbXA7PSB2YWwgLSAxOwogIH0KIAogIHJldHVybiBkaXN0Owp9CgoKCmludCBtYWluICh2b2lkKQp7CgljaGFyIGhleDsKCWludCBpOwoJaW50IGFbQVJSQVlfU0laRV07CglpbnQgYltBUlJBWV9TSVpFXTsKCWludCBoYW1EaXN0ID0gMDsKCUZJTEUqIGZwOwoJCgkvL0FycmF5cyBtaXQgMCBpbml0aWFsaXNpZXJlbgoJZm9yIChpID0gMDsgaSAmbHQ7IEFSUkFZX1NJWkU7ICsraSkKCXsKICAJCWFbaV0gPSAwOwogIAkJYltpXSA9IDA7Cgl9CgoJCglmcCA9IGZvcGVuKCZxdW90O2hleC50eHQmcXVvdDssJnF1b3Q7ciZxdW90Oyk7CglpZiAoZnAgPT0gTlVMTCkgCgl7CgkJcHJpbnRmKCZxdW90O0RpZSBEYXRlaSBoZXgudHh0IHd1cmRlIG5pY2h0IGdlZnVuZGVuISZxdW90Oyk7CgkJZXhpdChFWElUX0ZBSUxVUkUpOwoJfQoKCWk9MDsKCXByaW50ZigmcXVvdDsxLlplaWxlIGVpbmxlc2VuLlxuJnF1b3Q7KTsKCiAJd2hpbGUoKGhleD1mZ2V0YyhmcCkpIT0nXG4nICZhbXA7JmFtcDsgaGV4ICE9IEVPRikKICAgIHsKICAgICAgICBhW2ldPXN0cnRvbCgmYW1wO2hleCwwLDE2KTsKCQlpKys7CiAgICB9CglpPTA7CglwcmludGYoJnF1b3Q7Mi5aZWlsZSBlaW5sZXNlbi5cbiZxdW90Oyk7CgogCXdoaWxlKChoZXg9ZmdldGMoZnApKSE9J1xuJyAmYW1wOyZhbXA7IGhleCAhPSBFT0YpCiAgICB7CiAgICAJYltpXT1zdHJ0b2woJmFtcDtoZXgsMCwxNik7CiAgICAgICAgaSsrOwogICAgfQoJZmNsb3NlKGZwKTsKCglwcmludGYoJnF1b3Q7SGFtbWluZy1BYndlaWNodW5nIHBybyBOaWJibGU6XG4mcXVvdDspOwoJZm9yIChpID0gMDsgaSAmbHQ7IEFSUkFZX1NJWkU7ICsraSkKCXsKCQlwcmludGYgKCZxdW90OyVpXHQlaVx0JWlcbiZxdW90OyxhW2ldLGJbaV0sSGFtZGlzdChhW2ldLGJbaV0pKTsKCQloYW1EaXN0ICs9IEhhbWRpc3QoYVtpXSxiW2ldKTsKCX0KCXByaW50ZiAoJnF1b3Q7XG5IYW1taW5nLUFid2VpY2h1bmcgZGVyIEhhc2gtV2VydGU6JWRcbiZxdW90OyxoYW1EaXN0KTsKfQoK
/* Berechnung des Hamming-Abstandes zwischen zwei 128-Bit Werten in */
/* einer Textdatei. */
/* Die Werte müssen auf einer separaten Zeile gespeichert sein */
/* */
/* Erstellt: 17.5.2010 */
/* Autor: Thomas Scheffler */
#include <stdio.h>
#include <stdlib.h>
#define ARRAY_SIZE 32
unsigned Hamdist(unsigned x, unsigned y)
{
unsigned dist = 0, val = x ^ y;
// Count the number of set bits
while(val)
{
++dist;
val &= val - 1;
}
return dist;
}
int main (void)
{
char hex;
int i;
int a[ARRAY_SIZE];
int b[ARRAY_SIZE];
int hamDist = 0;
FILE* fp;
//Arrays mit 0 initialisieren
for (i = 0; i < ARRAY_SIZE; ++i)
{
a[i] = 0;
b[i] = 0;
}
fp = fopen("hex.txt","r");
if (fp == NULL)
{
printf("Die Datei hex.txt wurde nicht gefunden!");
exit(EXIT_FAILURE);
}
i=0;
printf("1.Zeile einlesen.\n");
while((hex=fgetc(fp))!='\n' && hex != EOF)
{
a[i]=strtol(&hex,0,16);
i++;
}
i=0;
printf("2.Zeile einlesen.\n");
while((hex=fgetc(fp))!='\n' && hex != EOF)
{
b[i]=strtol(&hex,0,16);
i++;
}
fclose(fp);
printf("Hamming-Abweichung pro Nibble:\n");
for (i = 0; i < ARRAY_SIZE; ++i)
{
printf ("%i\t%i\t%i\n",a[i],b[i],Hamdist(a[i],b[i]));
hamDist += Hamdist(a[i],b[i]);
}
printf ("\nHamming-Abweichung der Hash-Werte:%d\n",hamDist);
}