Programiranje - C++ zadaci (funkcije)

int funkcija(){return 0;}

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.

<<Home