{данная программа переводит любое сочетание символов ascii в систему счисления заданную пользователем.}
//pascal abc.net v3.0 сборка 1111
var
a,i,b,r,n,j,bug: integer;
s,se,slo,slof: string;
procedure preob(var a,b,n: integer; var se: string);
begin
repeat
b: =a mod n;
a: =a div n;
str(b,se);
s+=se;
until (a< =n-1);
end;
beginreadln(slo);
readln(n);
for j: =1 to length(slo) do
begin;
a: =ord(slo[j]);
preob(a,b,n,se);
str(a,se);
s+=se;
for i: =1 to length(s) div 2 do
begin;
se: =s[i];
s[i]: =s[length(s)-i+1];
s[length(s)-i+1]: =se[1];
end;
write(s,'-');
slof: =slof+s;
delete(s,1,length(s));
end;
end.
пример ввода:
работа на завтра.
2
пример вывода:
11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-
{таким образом, фразу " работа на завтра." можно закодировать как "11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-".}
1)
var i,n:integer; a:array[1..100]of integer;
begin
write('Введите размер массива: '); readln(n);
writeln('Введите значения элементов массива, разделяя их пробелами');
for i:=1 to n do read(a[i]); readln;
for i:=1 to n do write(a[ i]:8); writeln;
for i:=n downto 1 do write(a[i]:8); writeln;
writeln('Для выхода нажмите Enter'); readln
end.
2)
var i,n:integer; a:array[1..100]of integer;
begin
write('Введите размер массива: '); readln(n);
writeln('Введите значения элементов массива, разделяя их пробелами');
for i:=1 to n do read(a[ i]); readln;
for i:=1 to n do if a[i]<0 then write(i:2,a[i]:8); writeln;
writeln('Для выхода нажмите Enter'); readln
end.
3)
var i,n:integer; a:array[1..100]of integer;
begin
write('Введите размер массива: '); readln(n);
writeln('Введите значения элементов массива, разделяя их пробелами');
for i:=1 to n do read(a[i]); readln;
for i:=1 to n do if not odd(i) then write(a[i]:8); writeln;
writeln('Для выхода нажмите Enter'); readln
end.
4)
var i,n,s:integer; a:array[1..100]of integer;
begin
write('Введите размер массива: '); readln(n);
writeln('Введите значения элементов массива, разделяя их пробелами');
for i:=1 to n do read(a[i]); readln;
for i:=1 to n do write(a[i]:8); writeln;
s:=0; for i:=1 to n do s:=s+a[i]; writeln('Sum=',s); ;
writeln('Для выхода нажмите Enter'); readln
end.
Объяснение:
#include
<iostream>
#include
<string>using namespace std;int main() { setlocale(LC_ALL, "Russian"); string key = "key", buffer; cout << "Введите последовательность: "; cin >> buffer; bool *bitmap = new bool[key.length()]; for (int j = 0; j < key.length(); ++j) bitmap[j] = false; for(int i = 0; i < buffer.length(); ++i) for(int j = 0; j < key.length(); ++j) if (buffer[i] == key[j]) bitmap[j] = true; for (int j = 0; j < key.length(); ++j){ cout << "\"" << key[j] << "\""; if (bitmap[j]) cout << " есть!" << endl; else cout << " нет!" << endl; }
system("pause");
return 0