Строки в Pascal

Комментарии

Обработка матриц.

Помогите, кто может!!! Задана действительная квадратная матрица порядка n. Найти наибольший по модулю элемент матрицы. Не используя вспомогательного массива, получить квадратную матрицу порядка n-1 путем выбрасывания из исходной матрицы строки и столбца, на пересечении которых расположен элемент с найденным значением. Размерность матрицы и значения ее элементов ввести с клавиатуры.

Составить программу,

Составить программу, удаляющую из слова S все буквы, которые есть в
слове V.

дана последовательность слов, разделенных одним или более пробел

дана последовательность слов, разделенных одним или более пробелами, за последним словом - точка. составить программу, которая подсчитывает количество слов/ пожалуйста, срочно(((

Работа с символами

Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2
до 10 строчных латинских букв; между соседними словами – пробел, за последним словом
точка. Напечатать те слова последовательности, которые отличаются от последнего слова,
предварительно преобразовав каждое из них по следующему правилу: перенести первую
букву в конец слова.

Дешифровка)

Нужна программка, которая ищет слово, стоящее в тексте под определенным номером и выводит его первую букву этого слова

Решение

Дешифровка

program dem;
uses crt;
var f:text;
s:string;
w,z,p,i:integer;
a:array[1..255] of string;
 
procedure vvod;
begin
assign(f,'input.txt');
reset(f);
readln(f,s);
writeln(s);
end;
 
procedure find;
begin
z:=0;
p:=pos(' ',s);
Repeat
if p=1
then delete(s,p,1)
else begin
     z:=z+1;
     a[z]:=copy(s,1,p-1);
     delete(s,1,p);
     end;
p:=pos(' ',s);
until p=0;
end;
 
procedure vuvod;
begin
for i:=1 to z do
        begin
        writeln(i,' ',a[i]);
        end;
end;
 
 
procedure daw;
begin
writeln('Nomer slova');
readln(w);
while (w>z) or (w) do
        begin
        writeln('Takogo nomera net');
        readln(w);
        end;
writeln(copy(a[w],1,1));
end;
 
procedure daw1;
begin
writeln('Nomer slova');
readln(w);
if (w=z) and (w>=1)
then writeln(copy(a[w],1,1))
else begin
     writeln('Takogo nomera net');
     daw1;
     end;
end;
 
begin
clrscr;
vvod;
find;
vuvod;
daw1;
readln;
end.

вычислите разность векторов A(n) и B(n) по формуле:С=(А-В),где i

вычислите разность векторов A(n) и B(n) по формуле:С=(А-В),где i=1...N

найдите в каждой строке матрицы максимальный и минимальный элеме

найдите в каждой строке матрицы максимальный и минимальный элементы и поменяйте их "местами.выведите" матрицу на экран

Строки

Дана строка символов. Группы символов, разделенные одним или несколькими пробелами и не содержащие пробелов внутри себя, будем называть словами. В самом длинном слове заменить все буквы «а» на «б».

Решение

Как записать функцию

1/x,x>0
y={ x^2,x =

if x > 0 then y := 1 /

if x > 0 then
  y := 1 / x
else
  y := x * x;

Дана строка, состоящая из

Дана строка, состоящая из русских слов, разделенных пробелами (одним или
несколькими). Определить длину самого короткого слова. Паскаль

Решение

Для английских слов решение здесь. Если ваша среда программирования поддерживает русские символы, то поменяйте символы при if.

1.В строке A поменять местами

1.В строке A поменять местами первый и последний символы
2.Задана строка W, разделенная одним пробелом. Подсчитать количество слов в строке, вывести длину каждого слова.

Дана последовательность,

Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 5 латинских букв, между соседними словами-запятая, за последним словом-точка. Преобразовать последовательность следущим образом:
а)удалить из каждого слова все последующие вхождения первой буквы слова;
б)удалить из каждого слова все всеведущие вхождения последней буквы слова;
с) оставить в слове только первые вхождения каждой буквы.

Дан текст.   Определите

Дан текст.   Определите процентное отношение строчных и прописных букв к
общему числу символов в нем

Пользователь вводит строку,

Пользователь вводит строку, разделяя слова любым количеством пробелов.

1. Нормализовать строку
2. Для 1 варианта: после 1-го и 4-го слов вставить их порядковые номера
Для 2 варианта: после 2-го и 5-го слов вставить их порядковые номера

Вход: __I__develop_____software__with___friendly___user_interface
Нормализованная строка: I_develop_software_with_friendly_user_interface
Выход: 1 вариант: I[1]_develop_software_with[4]_friendly_user_interface
2 вариант: I_develop[2]_software_with_friendly[5]_user_interface

Рекомендации: для приведения числовой переменной к переменной строкового типа использовать готовую стандартную функцию IntToStr.

Пример использования:

Program Example74;
 
{ This program demonstrates the IntToStr function }
 
Uses sysutils;
 
Var s:string;
        i,f: byte;
 
Begin
  f:=3;
  s:='';
  for i:=1 to 7 do 
  begin
        f:=f*2;
        s:=s + '[' + IntToStr(f) + ']';
  end;
  writeln(s);
End.

Удалить из строки лишние

Удалить из строки лишние пробелы: здесь

Даны два различных слова, в

Даны два различных слова, в каждом из которых от 1 до 8 строчных латинских букв и за каждым из которых - пробел. Напечатать эти слова в алфавитном порядке. (Считать, что литера "пробел" предшествует любой литере-букве.) И нельзя использовать обращение по индексу к элементам строк.

По-моему без использования

По-моему без использования обращения по индексу эту задачу не решить.

Строка

Есть строка, состоящая из слов, разделенных пробелами. Определить
длины кратчайшего и самого длинного слов.

ответ

Определить длину слова,

Определить длину слова, стоящего на N-ом месте и вывести все слова, состоящие из такого же количества символов, что и найденное слово. Если N больше количества слов в предложении, то вывести соответствующее сообщение.

Помогите решить задачу!

Вставить пробел перед последними 2-мя символами в слова, имеющие минимальную (заданную) длину

удвоенные гласные

Входной текст содержит слова на русском языке. Для записи слов используются как прописные, так и строчные буквы, которые считаются эквивалентными. Разделителями в тексте являются пробел, точка, запятая, точка с запятой и двоеточие, при этом любой из них может быть окружен слева и (или) справа одним или несколькими пробелами. Перенести в преобразованный текст слова входного текста, которые содержат удвоенные гласные (но не слова, в которых имеется группа из трех или более одинаковых гласных, которые расположены подряд). Слова в этом тексте разделять запятой с пробелом, каждое слово должно начинаться с прописной буквы, все другие буквы в слове должны быть строчными.

дана строка символов длинною

дана строка символов длинною n. требуется заменить в ней группу слов ball на ballon

Если правильно понял условие,

Если правильно понял условие, то вот:

var
strk: string;
i: longint;

begin
write('LINE: ');
readln(strk);
for i := 1 to length(strk) do
if length(strk) if ((strk[i] = 'b') and (strk[i + 1] = 'a') and (strk[i + 2] = 'l') and (strk[i + 3] = 'l')) then
insert('on', strk, i + 4);
writeln('LINE(NEW): ', strk);
end.

задана строка символов.

задана строка символов. определить, какой из символов всречается наименьшее количество раз.

Дана строка символов. Группы

Дана строка символов. Группы символов, разделенные пробелами и не содержащие пробелов внутри себя, будем называть словами. Найти количество слов, у которых первый и последний символы совпадают между собой (если можно с комментариями)

Дана строка символов. Программа.

uses
  crt;
 
var
  slovo: array [1..250] of string;
  stroka: string;
  i, j, k: integer;
 
begin
  write('Vvedite danie: ');
  readln(stroka);
  j := 1;
  k := 0;
  slovo[j] := '';
  for i := 1 to length(stroka) do
  begin
    if stroka[i]  ' ' then
      slovo[j] := slovo[j] + stroka[i]
    else j := j + 1;
  end;
 
 
  for j := j downto 1 do
    if slovo[j][1] = slovo[j][length(slovo[j])] then k := k + 1;
 
  writeln('Otvet = ', k);
  readkey();
end.

Дана последовательность

Дана последовательность символов, заданная в типизированном файле. Методом индуктивной функции определить число вхождений подпоследовательности, заданной в строке символов. Все символы в строке различны.

В строке S все слова, которые

В строке S все слова, которые начинаются на гласную букву, изменять следущим образом: поменять местами первый и последний символы. Слова разделены хотя бы одним пробелом.

#include

var
        s:string;
        i,n:integer;
        c:char;
begin
        write('Введите строку: ');
        read(s);
        while i(s) do
        begin
                inc(i);
                if (s[i] in ['A','a','E','e','I','i','O','o','U','Y',
                             'А','а','Е','е','Ё','ё','И','и','О','о',
                             'У','у','Ы','ы','Э','э','Ю','ю','Я','я'])
                        and ((i=1) or (s[i-1]=' ')) then
                begin
                        n:=i;
                        c:=s[i];
                        repeat
                                inc(i);
                        until (s[i]=' ') or (i=length(s));
                        if s[i]=' ' then
                        begin
                                s[n]:=s[i-1];
                                s[i-1]:=c;
                        end
                        else
                        begin
                                s[n]:=s[i];
                                s[i]:=c;
                        end;
                end;
        end;
        write('Новая строка: ');
        writeln(s);
end.

Строки

Дан текст. Откорректировать данный текст: между двумя определенными символами (введенными с клавиатуры) вставить звездочку, подсчитать количество вставок и сумму кодов всех символов до вставки звездочек и после.

Помогите найти ошибку. Вроде работает, но звездочку не вставляет.

program lab_7;
uses crt;
var t:string;
    s1,s2:char;
    i,j,x,sum,sum2:integer;
begin
  clrscr;
  write('Input text: '); readln(t);
  write('Input first symbol: '); readln(s1);
  write('Input second symbol: '); readln(s2);
  sum:=0;
  sum2:=0;
  for i:=1 to length(t) do sum:=sum+ord(t[i]);
  for i:=1 to length(t) do if t[i]=s1 then begin
                                           j:=1;
                                           repeat inc(j);
                                           until (t[i]=s2) or (j>length(t));
                                           if t[i]=s2 then begin insert('*',t,i+1);
                                                                 inc(x);
                                                                 end;
                                           end;
  for i:=1 to length(t) do sum2:=sum2+ord(t[i]);
  writeln('Summa codes of symbols in starting text: ',sum);
  writeln('Summa codes of symbols in new text: ',sum2);
  writeln('Symbol "*" input in text: ',x,'times');
  writeln('New text: ',t);
  readln;
end.

Дана строка. Определить,

Дана строка. Определить, сколько в ней символов:
- звездочка;
- точка с запятой;
- двоеточие.

Программа

uses
  crt;
 
var
  stroka: string;
  z, d, tsz, i: integer;
 
begin
  write('Vvedite stroku: ');
  readln(stroka);
  z := 0; d := 0; tsz := 0;
  for i := 1 to length(stroka) do
    case stroka[i] of
      '*': z := z + 1;
      ':': d := d + 1;
      ';': tsz := tsz + 1;
    end;
  writeln('Kolichestvo (* : ;) sootvetstvenno: ', z, ' ', d, ' ', tsz);
end.

program Schet3;var t:

program Schet3;
 
var
  t: string;
  s1, s2, s3: char;
  i, r, y, u: integer;
 
begin
  readln(t);
  readln(s1);
  readln(s2);
  readln(s3);
  r := 0;
  y := 0;
  u := 0;
  for i := 1 to length(t) do
  begin
    if t[i] = s1 then    
      r := r + 1;
    if t[i] = s2 then  
      y := y + 1;
    if t[i] = s3 then  
      u := u + 1;
  end;
  writeln(s1, ' в тексте ', r);
  writeln(s2, ' в тексте ', y);
  writeln(s3, ' в тексте ', u);
end.

задано число, содержащее 255

задано число, содержащее 255 цифр;
1.посчитайте количество цифр в числе;
2.подсчитать, сколько раз в число входит цифра 5;
3.содержит ли данное число 3 подряд идущие цифры - 7 (777);
4.вычислить сумму цифр числа;
5.является ли данное число кратным 9;
6.подсчитать кол-во чётных цифр;
7.вычислить сумму цифр, стоящих на нечётных позициях;
8.является ли данное число палиндромом?
9.получите новое число, удалив из заданного все цифры, кратные 3;
10.получите новое число заменив цифру 2 на цифру 3.

Дан набор слов, разделённых

Дан набор слов, разделённых точкой с запятой (;), набор заканчивается двоеточием (:), определить, сколько в нем слов, заканчивающихся на букву >.

помогите решить задачу

это код для самой длинной строки из латинских букв в обратном порядке нужно для цифр тоже самое

uses crt;
var s1,s3:string;
s2:array[1..100] of string;
i,j,k,k2,i1,i2,count,fl1,n:integer;
 
begin
clrscr;
writeln('vvedite stroku:');
readln(s1);
k:=length(s1);
i1:= 1; i2:= 0;
count:= 0;
for i:=1 to k do begin
    if (s1[i] = ' ') and (s1[i+1]  ' ')
       then i1:= i + 1;
    if (s1[i]  ' ') and ((s1[i + 1] = ' ') or
       (i = k)) then begin
          i2:= i; inc(count);
    end;
    if i2  0 then begin
       s2[count]:= copy(s1, i1, i2-i1+1);
       i2:= 0;
    end;
end;
s3:='';
 for i:=1 to count do
 begin
   k2:=length(s2[i]);
   fl1:=0;
   for j:=1 to k2 do
    begin
    n:=ord(s2[i][j]);
    if ((n) or(n>122)) then fl1:=1;
    end;
    if (fl1=0) then
      if (length(s2[i])>length(s3)) then s3:=s2[i];
  end;
s1:='';
k:=length(s3);
for i:=k downto 1 do
s1:=s1+s3[i];
 writeln('samaya dlinnaya perevernutaya stroka is latin simvolov: ',s1);
readkey;
end.

помогите решить задачу со строками

Дана строка символов, состоящая из цифр от 0 до 9 и пробелов. Группы цифр, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Рассматривая эти слова как числа, определить и напечатать сумму чисел, оканчивающихся на цифры 3 или 4.

uses crt;var s,s1: string;

uses crt;
var
 s,s1: string;
 sum, probel, i,b: integer;
 a: longint; {вдруг число большое будет}
begin
 clrscr;
 readln(s);
 s:=s+' '; {добавляем пробел, чтоб читалось и последнее число}
 sum:=0;
 s1:='';
 probel:=1;
 while probel  0 do
  begin
   probel:=pos(' ',s);
   if probel=1 then delete(s,1,1) else  
   begin
   for i:=1 to probel-1 do
    begin
     s1:=s1+s[i];  {получили строку с числом}
    end;
   val(s1,a,b);  {эта процедура возвращает в а число в строке, b для сообщения об ошибке}
   if (a mod 10 = 3) or (a mod 10 = 4) then
    sum:=sum+a;
   delete(s,1,probel); {удаляем то, что уже обработали, включая пробел}
   s1:='';
   end;
  end;
  write(sum);
  readln
 end.
/code>
Может есть и более простые способы, но я сам чайник-новичок)

помогите...

дан текст. найти наибольшее количество идущих подряд одинаковых символов

ответ

program zadacha_4;
uses crt;
const n = 60;
var str : string[n];
ch:char;
i : integer;
cnt,tek : integer;
begin
clrscr;
readln(str);
ch:= str[1];
tek:=0;
cnt:= 1;
for i:=2 to n do
 begin
 if str[i] = str[i-1] then
  begin
  inc(cnt);
  end
 else
  begin
  if cnt>tek then
   begin
   tek := cnt;
   ch := str[i-1];
   cnt := 1;
   end
  else cnt := 1;
  end;
 end;
writeln;
writeln(ch,' - dlina=',tek);
readln;
end.

помогите, плз

Написать программу, выводящую построчно на экран слова из введенной пользователем строки, содержащие только одну прописную букву русского или латинского алфавитов. Слова в строке отделяются друг от друга одним или несколькими пробелами, знаки препиная отсутсвуют.