Chcel by som sa spytat:
1. ked mam program ktory mi vypise na konci pole char o 20 znakoch ale ja zaplnim len 10 znakov a zvysok vypise nieco random, je tento kod standardny postup aby mi vypis pola char nevypisal navyse znaky?
char rimske[20];
for (int i = 0; i < 20; i++)
rimske[i] = '\0';
2. Mal by som len otazku k programu, nejak som zosmolil funkcny program (az na poradie zadaneho vstupu) co prehodi cisla na rimske a naopak, a tak sa chcem spytat, ci je to v pohode robit pomocou cyklu "for" alebo som mal nato pouzit "switch" pripadne nieco ine matematicky specialne... pripadne rad budem za kazdu upozornenu chybu ktoru tam mam :) som samouk zaciatocnik ale chcem sa to naucit robit najlepsie ako budem vediet:
#include <iostream>
using namespace std;
int main()
{
cout << "Zadajte rimske cislice ktore premenime na arabske:\n";
char rimske[20];
for (int i = 0; i < 20; i++)
rimske[i] = '\0';
cin >> rimske;
int pocet = strlen(rimske);
int arabske = 0;
for (char *p = rimske; *p != '\0'; ++p)
{
*p = toupper(*p);
}
for (int i = 0; i <= pocet; i++)
{
if (rimske[i] == 'M')
arabske = arabske + 1000;
else if (rimske[i] == 'D')
arabske = arabske + 500;
else if (rimske[i] == 'C')
arabske = arabske + 100;
else if (rimske[i] == 'L')
arabske = arabske + 50;
else if (rimske[i] == 'X')
arabske = arabske + 10;
else if (rimske[i] == 'V')
arabske = arabske + 5;
else if (rimske[i] == 'I')
arabske = arabske + 1;
}
cout << "rimske cislice " << rimske << " je v prepocte arabskych: " << arabske << endl;
cout << endl << "Zadajte arabske cislo: ";
cin >> arabske;
int celok = arabske;
for (int i = 0; arabske > 0; i++)
{
if ((arabske - 1000) >= 0)
{
rimske[i] = 'M';
arabske = arabske - 1000;
}
else if ((arabske - 500) >= 0)
{
rimske[i] = 'D';
arabske = arabske - 500;
}
else if ((arabske - 100) >= 0)
{
rimske[i] = 'C';
arabske = arabske - 100;
}
else if ((arabske - 50) >= 0)
{
rimske[i] = 'L';
arabske = arabske - 50;
}
else if ((arabske - 10) >= 0)
{
rimske[i] = 'X';
arabske = arabske - 10;
}
else if ((arabske - 5) >= 0)
{
rimske[i] = 'V';
arabske = arabske - 5;
}
else if ((arabske -1) >= 0)
{
rimske[i] = 'I';
arabske = arabske - 1;
}
}
cout << "prepocet z " << celok << " arabskych na rimske je " << rimske << endl;
system("pause");
return 0;
}