program s1;
uses
SysUtils;
var
s, t: string;
i: Integer;
c: string;
begin
Write ('Введите строку: ');
ReadLn (s);
t := '';
for i := 1 to Length (s) do begin
if s [i] in ['a'..'z'] then
c := IntToStr (Ord (s [i]) - Ord ('a') + 1)
else if s [i] in ['A'..'Z'] then
c := IntToStr (Ord (s [i]) - Ord ('A') + 1)
else if s [i] = ' ' then
c := '0'
else
c := s [i];
t := t + c + ' ';
end;
WriteLn (t);
ReadLn
end.
program s2;
uses
SysUtils;
var
s, t: string;
i: Integer;
c: string;
begin
Write ('Введите строку: ');
ReadLn (s);
t := '';
for i := 1 to Length (s) do begin
if not (s [i] in ['e', 'y', 'u', 'i', 'o', 'a', 'E', 'Y', 'U', 'I', 'O', 'A']) then
c := s [i]
else
c := '';
t := t + c;
end;
WriteLn (t);
ReadLn
end.
первый скрин - main.cpp, все последующие - Matrix.h.
1) Работает со всеми стандартными типами C++.
2) Получать результат умножения нужно в указатель класса Matrix такого же типа, что и множители.
3) Перемножать можно только объекты класса Matrix одного типа.
4) У класса Matrix есть метод Fill(), добавлен для удобства тестирования, он заполняет матрицу указанным значением (обязательно одного типа с заполняемым Matrix`ом (тоесть если у тебя матрица типа char, то вызов метода должен быть примерно таким: matrixname.Fill('A') )).
5) При перемножении Matrix`ы накладываются друг на друга, а пересекающиеся элементы перемножаются.
2 группа- 1,4,5
3 группа- 6
4 группа- 7,8,9
с 4 и 6 не уверен