1)
Visual Basic позволяет использовать знак операции
«+» или «&» для объединения двух строковых операндов (см. табл. 2.5). Результатом операции s+т (или S&T), где Бит имеют строковый тип, будет конкатенация бит — новая строка, результат добавления строки т в конец строки S.
Стандартные функции для работы со строками. Для работы с переменными строкового типа определены стандартные функции. Некоторые из них (наиболее часто используемые)
Рассмотрим примеры использования строковых функций.
1. Выделение первого слова в предложении (разделитель слов — знак «пробел»):
2. Удаление из строки всех цифр:
3. Подсчет количества букв 'W' в строке (независимо от регистра)
2)
Чтобы использовать эту функцию, введите =ДЛСТР(ячейка) в строку формул и нажмите клавишу ВВОД. В этих примерах ячейка — это ячейка, количество символов в которой нужно подсчитать, например B1. Чтобы подсчитать символы в нескольких ячейках, введите формулу, а затем скопируйте и вставьте ее в другие ячейки.
3)Метод indexOf() в Java
Метод indexOf() ищет в строке заданный символ или строку, и их возвращает индекс (т.е. порядковый номер). Метод:
возвращает индекс, под которым символ или строка первый раз появляется в строке;
возвращает (-1) если символ или строка не найдены.
Метод также может искать символ или строку, начиная с указанного индекса
type
Matrix=array[,] of integer;
procedure MatPrint(a:Matrix);
begin
var m:=Length(a,1)-1;
for var i:=0 to Length(a,0)-1 do begin
for var j:=0 to m do Write(a[i,j]:4);
Writeln
end
end;
function IsEqual(a:Matrix; col:integer):boolean;
begin
var s:=sign(a[0,col]);
for var i:=1 to Length(a,0)-1 do s+=sign(a[i,col]);
if (s=0) then Result:=(a[0,col]<>0)
else Result:=false
end;
procedure DeleteCol(var a:Matrix; col:integer);
begin
var n:=Length(a,0)-1;
var m:=Length(a,1)-1;
for var j:=col+1 to Length(a,1)-1 do
for var i:=0 to n do a[i,j-1]:=a[i,j];
SetLength(a,n+1,m)
end;
begin
var n:=ReadInteger('Строк:');
var m:=ReadInteger('Столбцов:');
var a:=MatrixRandom(n,m,-99,99);
Writeln('Исходная матрица');
MatPrint(a);
for var j:=Length(a,1)-1 downto 0 do
if IsEqual(a,j) then DeleteCol(a,j);
Writeln('Результирующая матрица');
MatPrint(a);
end.
Тестовое решение
Строк: 8
Столбцов: 10
Исходная матрица
-3 -82 -25 -22 65 1 79 -67 -64 -82
17 36 48 -32 51 11 43 9 -35 4
-10 -5 80 82 -24 66 -12 -58 50 -94
52 70 53 85 -32 -59 46 57 -84 -44
81 71 -55 37 46 -15 -61 25 22 -7
-49 98 -42 -18 -44 -97 -63 -7 -98 99
-86 37 -17 -69 -35 46 82 62 99 11
65 85 -7 -90 23 19 -50 -56 -64 91
Результирующая матрица
-82 -25 -22 1 -64
36 48 -32 11 -35
-5 80 82 66 50
70 53 85 -59 -84
71 -55 37 -15 22
98 -42 -18 -97 -98
37 -17 -69 46 99
85 -7 -90 19 -64