1. U main funkciji učitajte svoj JMBG i u funkciji suma pronađite sumu njegovih znamenaka, te u funkciji pretvori pretvorite dobivenu sumu u sustav s bazom 12. ispišite dobivenu sumu znamenaka i dobiveni njen ekvivalent u sustavu s bazom 12.
#include "stdafx.h"
#include<iostream>
#include<string.h>
using namespace std;
int suma(char JMBG[])
{
int suma=0;
for(int i=0;i<strlen(JMBG);i++)
suma+=JMBG[i]-48;
return suma;
}
void pretvori(int broj,int baza)
{
if(broj>=baza)
pretvori(broj/baza,baza);
switch(broj%baza)
{
case 10:cout<<"A";break;
case 11:cout<<"B";break;
default:cout<<broj%baza;break;
}
}
void main()
{
char JMBG[13];
int zbroj;
cout<<"Unesite JMBG:";
cin.getline(JMBG,13);
zbroj=suma(JMBG);
cout<<"Suma svih clanova niza je:"<<zbroj<<endl;
cout<<"Suma clanova u sustavu sa brojem 12 je:";
pretvori(zbroj,12);
cout<<endl;
}
Preuzmite projekt: zad_1.cpp.
2. Upišite naziv fakulteta i u funkciji suma pronađite sumu ASCII kodova upisanog naziva fakulteta, te u funkciji pretvori pretvorite dobivenu sumu u sustav s bazom 19. Ispišite dobivenu sumu i njen ekvivalent u sustavu s bazom 19.
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
void pretvori(int broj)
{
if(broj>18) pretvori(broj/19);
switch(broj%19)
{
case (10): cout<<"A"; break;
case (11): cout<<"B"; break;
case (12): cout<<"C"; break;
case (13): cout<<"D"; break;
case (14): cout<<"E"; break;
case (15): cout<<"F"; break;
case (16): cout<<"G"; break;
case (17): cout<<"H"; break;
case (18): cout<<"I"; break;
default: cout<<broj%19; break;
}
}
int suma(char naziv[])
{
int i, suma=0;
for(i=0;i<strlen(naziv);i++)
suma+=naziv[i];
return suma;
}
void main()
{
char naziv_fakulteta[30];
int n;
cout<<"Upisite naziv fakulteta: ";
cin.getline(naziv_fakulteta,30);
n=suma(naziv_fakulteta);
cout<<"Zbroj ASCII kodova u nazivu fakulteta: "<<n<<endl;
cout<<"U sustavu s bazom 19 broj "<<n<<" je ekvivalentan broju ";
pretvori(n);
cout<<endl;
}
Preuzmite projekt: zad_2.cpp.
3. U main funkciji učitajte svoje ime, prezime i adresu stanovanja, a u funkciji suma pronađite sumu ascii kodova upisanih podataka te u funkciji pretvori pretvorite dobivenu sumu u sustav s bazom 25. Ispišite dobivenu sumu kodova i dobiveni njen ekvivalent u sustavu s bazom 25.
#include "stdafx.h"
#include <iostream>
#include <string>
#define MAX_DULJINA 50
using namespace std;
int suma(char s[],int duljina)
{
if(duljina == 0)
return 0;
else
return int(s[duljina-1]) + suma(s, duljina-1);
}
void pretvori(int broj,int baza)
{
if(broj>=baza)
pretvori(broj/baza,baza);
if(broj%baza>= 10)
cout<<char(broj%baza+55);
else
cout<<broj%baza;
}
void main()
{
char podaci[MAX_DULJINA];
cout<<"Unesite svoje podatke (ime, prezime i adresu stanovanja): ";
cin.getline(podaci, MAX_DULJINA);
int suma_znakova = suma(podaci, strlen(podaci));
cout<<"Suma ASCII kodova znakova: "<<suma_znakova<<endl;
cout<<"Ekvivalent sume u sustavu s bazom 25: ";
pretvori(suma_znakova,25);
cout<<endl;
}
Preuzmite projekt: zad_3.cpp.
4. U main funkciji učitajte NazivTvrtke i BrojZaposlenih. Pronađite u funkciji suma_znakova sumu ASCII kodova upisanog naziva tvrtke i funkciji suma_znamenaka sumu znamenaka broja zaposlenih. Zbrojite dobivene sume i u funkciji pretvori pretvorite dobiveni zbroj u sustav s bazom 21. Ispišite dobivenu sumu kodova, sumu znamenaka i dobiveni ekvivalent zbroja tih suma u sustavu s bazom 21.
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
int suma_znakova(char znakovi[])
{
int sum=0;
for(int i=0;i<strlen(znakovi);i++)
sum+=znakovi[i];
return sum;
}
int suma_znamenaka(char znamenke[])
{
int sum=0;
for(int i=0;i<strlen(znamenke);i++)
sum+=znamenke[i]-48;
return sum;
}
void pretvori(int zbroj,int baza)
{
if(zbroj>=baza)pretvori(zbroj/baza,baza);
if(zbroj%baza>=10)cout<<char(zbroj%baza+55);
else cout<<zbroj%baza;
}
void main()
{
char naziv_tvrtke[50],broj_zaposlenih[6];
int a,n;
cout<<"Naziv tvrtke: ";
cin.getline(naziv_tvrtke,50);
cout<<"Broj zaposlenih: ";
cin.getline(broj_zaposlenih,6);
cout<<endl;
a=suma_znakova(naziv_tvrtke);
n=suma_znamenaka(broj_zaposlenih);
cout<<"Dobivena suma ASCII koda naziva tvrke je: "<<a<<endl;
cout<<"Dobivena suma znamenaka broja zaposlenih je: "<<n<<endl;
cout<<"Ekvivalent sume tih dviju vrijednosti s bazom 21 je: ";
pretvori(a+n,21);
cout<<endl;
}
Preuzmite projekt: zad_4.cpp.
5. Učitajte svoj datum upisa studija u main funkciji. U funkciji suma pronađite sumu znamenaka koje se pojavljuju u učitanom datumu, te u funkciji potencija pronađite vrijednost potencije dobivene sume s eksponentom x učitanog u main funkciji. Ispišite datum upisa, dobivenu sumu i vrijednost potencije.
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
int suma(char datum[])
{
int sum=0;
for(int i=0;i<strlen(datum);i++)
if((datum[i]>=48)&&(datum[i]<=57))sum+=datum[i]-48;
return sum;
}
int potencija(int broj,int x)
{
int pot=1;
for(int i=0;i<x;i++)
pot*=broj;
return pot;
}
void main()
{
char datum[11];
int x;
cout<<"Upisite datum upisa studija (dd.mm.gggg): ";
cin.getline(datum,11);
cout<<"Datum upisa: "<<datum<<endl;
int sum=suma(datum);
cout<<"Suma znamenaka u datumu: "<<sum<<endl;
cout<<endl<<"Na koju potenciju zelite potencirat dobiveni broj: ";
cin>>x;
cout<<sum<<" na "<<x<<" je: "<<potencija(sum,x)<<endl;
}
Preuzmite projekt: zad_5.cpp.