Составьте алгоритм (блок-схему) и напишите программу, которая заполняет двумерный массив B размерностью 7х3 по формулам: в паскале ABC только в нем очень надо
#include <stdio.h> #include "stdafx.h" #include "iostream" #include "conio.h" #include "locale.h" using namespace std; int main() { int x; cin >> x; int a = x; x = (x & 0x55) << 1 | (x & 0xAA) >> 1; x = (x & 0x33) << 2 | (x & 0xCC) >> 2; x = (x & 0x0F) << 4 | (x & 0xF0) >> 4; int s, k; k = 1; s = 0; while (x > 0) { s += k*(x % 2); k *= 10; x /= 2; } int p, o; p = 1; o = 0; while (a > 0) { o += p*(a % 2); p *= 10; a /= 2; } cout << o; cout << "\n" << s; getchar(); getchar(); return 0; } получает случайное целое типа int, выводит его двоичное представление на экран, Изменить порядок следования битов в числе на обратный
Const ru : array[1..33] of Char = ('а','б','в','г','д','е','ё','ж','з','и', 'й','к','л','м','н','о','п','р','с','т', 'у','ф','х','ц','ч','ш','щ','ъ','ы','ь', 'э','ю','я'); en : array[0..33] of String = (' ','a','b','v','g','d','e','ye','zh','z','i', 'y','c','l','m','n','o','p','r','s','t', 'u','f','h','c','ch','sh','sch','`','ы','', 'ea','yu','ja'); { транскрипцию записал не заглядывая ни в какие справочники - можете кидаться тапками }
Function GetIndex(ss : Char) : Byte; Var ii : Byte; Begin ii:=1; While (ii<=33) and (LowerCase(ss)<>ru[ii]) do Inc(ii); If ii in [1..33] then GetIndex:=ii else GetIndex:=0; end;
Function Trans(S : String) : String; Begin If Length(S)>0 then Trans:=en[GetIndex(S[1])]+Trans(Copy(S,2,Length(S)-1)) else Trans:=''; end;
Begin Writeln(Trans('паскаль')); Writeln(Trans('ява')); end.
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "locale.h"
using namespace std;
int main()
{
int x;
cin >> x;
int a = x;
x = (x & 0x55) << 1 | (x & 0xAA) >> 1;
x = (x & 0x33) << 2 | (x & 0xCC) >> 2;
x = (x & 0x0F) << 4 | (x & 0xF0) >> 4;
int s, k;
k = 1;
s = 0;
while (x > 0)
{
s += k*(x % 2);
k *= 10;
x /= 2;
}
int p, o;
p = 1;
o = 0;
while (a > 0)
{
o += p*(a % 2);
p *= 10;
a /= 2;
}
cout << o;
cout << "\n" << s;
getchar();
getchar();
return 0;
}
получает случайное целое типа int, выводит его двоичное представление на экран,
Изменить порядок следования битов в числе на обратный
ru : array[1..33] of Char = ('а','б','в','г','д','е','ё','ж','з','и',
'й','к','л','м','н','о','п','р','с','т',
'у','ф','х','ц','ч','ш','щ','ъ','ы','ь',
'э','ю','я');
en : array[0..33] of String = (' ','a','b','v','g','d','e','ye','zh','z','i',
'y','c','l','m','n','o','p','r','s','t',
'u','f','h','c','ch','sh','sch','`','ы','',
'ea','yu','ja');
{ транскрипцию записал не заглядывая ни в какие справочники - можете кидаться тапками }
Function GetIndex(ss : Char) : Byte;
Var ii : Byte;
Begin
ii:=1;
While (ii<=33) and (LowerCase(ss)<>ru[ii]) do Inc(ii);
If ii in [1..33] then GetIndex:=ii else GetIndex:=0;
end;
Function Trans(S : String) : String;
Begin
If Length(S)>0 then Trans:=en[GetIndex(S[1])]+Trans(Copy(S,2,Length(S)-1))
else Trans:='';
end;
Begin
Writeln(Trans('паскаль'));
Writeln(Trans('ява'));
end.