ALGORYTMICZNA PRZYGODA
Kaliny

Archiwum

Polecam

Platformy do rozwiązywania zadań:
Strony do nauki:

Counter – zamiana jednostek

Cześć!
W tym poście pokażę Wam program, który rekurencyjnie zamienia jednostki.
Moją aplikację nazwałam Counter – od angielskiego czasownika „count” – liczyć.
Jednostki, które obsługuje program to: mm, cm, dm, m, km, g, dag, kg, t, s, min, h, d, km/h oraz m/s.
Jeśli potrzebujecie szybko coś przeliczyć, to możecie skorzystać z poniższego kodu, który napisałam w języku C++:

#include <bits/stdc++.h>
#include <locale.h>
#include <windows.h>
using namespace std;

double przelicz(string a, string b, double x) {
	if(a==b) {
		return x;
	}
	if(a=="mm") {
		return przelicz("cm", b, x/10);
	}
	if(a=="cm") {
		return przelicz("dm", b, x/10);
	}
	if(a=="dm") {
		return przelicz("m", b, x/10);
	}
	if(a=="m") {
		return przelicz("km", b, x/1000);
	}
	if(a=="km") {
		return przelicz("mm", b, x*1000000);
	}
	
	if(a=="g") {
		return przelicz("dag", b, x/10);
	}
	if(a=="dag") {
		return przelicz("kg", b, x/100);
	}
	if(a=="kg") {
		return przelicz("t", b, x/1000);
	}
	if(a=="t") {
		return przelicz("g", b, x*1000000);
	}
	
	if(a=="s") {
		return przelicz("min", b, x/60);
	}
	if(a=="min") {
		return przelicz("h", b, x/60);
	}
	if(a=="h") {
		return przelicz("d", b, x/24);
	}
	if(a=="d") {
		return przelicz("s", b, x*24*60*60);
	}
	
	if(a=="m/s") {
		return x*3.6;
	}
	if(a=="km/h") {
		return x/3.6;
	}
}

int main() {
	Sleep(500);
	setlocale(LC_CTYPE, "Polish");
	cout << "Counter v.1.0\n";
	cout << "Język: polski\n";
	Sleep(1000);
	system("cls");
	cout << "Dostępne jednostki: mm, cm, dm, m, km, g, dag, kg, t, s, min, h, d, km/h, m/s\n";
	cout << "Przykład:\n5 cm = mm\n\n";
	string l;
	while(1) {
		getline(cin, l);
		getline(cin, l);
		system("cls");
		float a;
		string r;
		string pocz, kon;
		cin >> a >> pocz >> r >> kon;
		system("cls");
		cout << a << " " << pocz << " " << r << " " << przelicz(pocz, kon, a) << " " << kon << "\n";
	}

	return 0;
}
                 

O blogu

Zapraszam na moją algorytmiczną przygodę!

  • przygotowuję się do Olimpiady Informatycznej Juniorów oraz do Konkursu Logia;
  • biorę udział w Olimpijskim Kole Informatycznym;
  • pokonuję algorytmiczne trudności;
  • piszę programy w C++ i w Pythonie;
  • dzielę się swoimi przemyśleniami oraz pomysłami.
  • Ostatnie posty