Ответ:
43₁₆=4·16¹+3·16⁰=4·16+3·1=64+3=67₁₀
105₈=1·8²+0·8¹+5·8⁰=1·64+0·8+5·1=64+5=69₁₀
10101₂=1·2⁴+0·2³+1·2²+0·2¹+1·2⁰=1·16+0·8+1·4+0·2+1·1=16+4+1=21₂
Ответ: 105₈=69₁₀
//перевод числа из системы исчисления
//с основанием от 2 до 9 в десятичную
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
int pss(char sr[80], int i, int osn)
{
static int s;
char ch=sr[i-1];
if (i==strlen(sr)) s=1;
s=s*osn;
if (1<i) return (atoi(&ch)+pss(sr,i-1,osn)*osn);
else return (atoi(&ch));
}
int main(int argc, char** argv)
{
int osn=0;
char st[80];
cout<<" задайте основание (от 2 до 9) ";
cin>>osn; cout<<endl;
cout<<"число: "; cin>>st; cout<<endl;
cout<<"в десятичной системе: "
<<pss(st,strlen(st),osn);
return(0);
}
<span>
</span>
===== PascalABC.NET =====
begin
var (m, n) := ReadInteger2('Введите m и n:');
var a := MatrRandom(m, n, -99, 99);
a.Println;
Writeln;
foreach var j in Range(1, n - 1, 2) do
a.Col(j).Println
end.
procedure Minmax(var a, b: integer);
var min, max: integer;
begin
if a < b then min := a else min := b;
if a > b then max := a else max := b;
a := min;
b := max;
end;