1.Реализовать программу, позволяющую переводить число из десятичной в шестнадцатеричную систему счисления.
program qwert
integer, allocatable :: c(:)
real a,b
read(*,*)b
a=b
n=0
do while (a.ne.0)
a=int(a/16)
n=n+1
end do
allocate( c(n))
i=1
do while (b>=16)
b=b/16
a=(b-int(b))*16
b=int(b)
c(i)=a
i=i+1
end do
c(i)=b
do i=n,1,-1
if (c(i)<10) then
write(*,100)c(i)
end if
if (c(i).eq.10) then
write(*,101)"A"
end if
if (c(i).eq.11) then
write(*,101)"B"
end if
if (c(i).eq.12) then
write(*,101)"C"
end if
if (c(i).eq.13) then
write(*,101)"D"
end if
if (c(i).eq.14) then
write(*,101)"E"
end if
if (c(i).eq.15) then
write(*,101)"F"
end if
end do
write(*,*)
pause
100 format (i1,\)
101 format (A1,\)
end
3.Даны две произвольные строки, удалить из них символы, повторяющиеся два раза в одной и один раз в другой строке.
#include
#include
#include
using namespace std;
int main() {
string a, b, c1;
char c;
int i = 0,j=0,k=0, m=0;
cin >> a;
cin >> b;
c = b[0];
do {
if (a.find(c) != -1) {
j = a.find(c);
k= b.find(c);
c1 = c;
a.erase(a.find(c), 1);
b.erase(b.find(c), 1);
if ((a.find(c) != -1)&&(b.find(c) == -1)){
m = a.find(c);
a.erase(a.find(c), 1);
if (a.find(c) != -1) {
a.insert(m, c1);
a.insert(j, c1);
b.insert(k, c1);
i++;
c = b[i];
}
else {
i = 0;
}
}
else {
a.insert(j, c1);
b.insert(k, c1);
i++;
c = b[i];
}
}
else {
i++;
c = b[i];
}
} while (i != b.length());
cout << a << endl << b << endl;
system("pause");
}