Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 29.03.2019
Сообщений: 9
1

Как получить строку из массива?

16.01.2021, 12:47. Просмотров 598. Ответов 3

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const
  Rims: array[1..13] of string = ('M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'); 
  Arab: array[1..13] of integer = (1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1);
 
var
  n, i, j,position: integer; 
  s,strings: string;
begin
readln(s);
 
 
 
// работа с переводом из римской в арабскую
  i := 1; n := 0;
  while s <> '' do
  begin
    while Rims[i] = Copy(s, 1, Length(Rims[i])) do
    begin
      s := Copy(s, 1 + Length(Rims[i]), 255);
      n := n + Arab[i]
    end;
    i := i + 1
  end;
  writeln(N);
end.
Есть строка In MMXIV Vasya graduated from school.
Но я не понимаю как отделить MMXIV, а потом склеить изменившуюся строку.
//с переводом из римской в арабскую я разобрался.
Заранее спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2021, 12:47
Ответы с готовыми решениями:

Как из массива получить строку
Пробую сам, но чет понять не могу что не так: $saFindItems = ''; $saOutItems = array (...

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

Как получить строку двумерного массива и передать её в функцию
Добрый день! Задача следующая. Даны массив числовых векторов количеством n, каждый вектор состоит...

Как из массива случайным образом получить одну строку
Здравствуйте, господа. Есть массив: string population = { &quot;Щукин Святослав...

3
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5663 / 3384 / 2423
Регистрация: 22.11.2013
Сообщений: 9,507
Записей в блоге: 1
16.01.2021, 17:49 2
Например, как-то так
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function FindRoman(const s: String; var Start, Len: Integer): Boolean;
const Romans = ['I','V','X','L','C','D','M'];
var i, j: Integer;
begin
  FindRoman:=False;
  i:=1; while (i<=Length(s)) and not (s[i] in Romans) do Inc(i);
  j:=i; while (i<=Length(s)) and     (s[i] in Romans) do Inc(i);
  if j<i then begin
    Start:=j; Len:=i-j; FindRoman:=True;
  end;
end;
 
 
  if FindRoman(s,i,j) then
    s:=Copy(s,1,i-1)+ToArabic(Copy(s,i,j))+Copy(s,i+j,Length(s));
0
Модератор
62497 / 46687 / 32180
Регистрация: 18.05.2008
Сообщений: 112,951
16.01.2021, 17:55 3
Вобще это если есть только одно римское число и нет других слов типа VIG, VID и т.п.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5663 / 3384 / 2423
Регистрация: 22.11.2013
Сообщений: 9,507
Записей в блоге: 1
16.01.2021, 18:25 4
Да, разумнее делить на слова и проверять, является ли римским числом очередное слово.
Но и это не позволит отличить английское "я" (I) от римского "один" (I).
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2021, 18:25

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

Получить строку из массива байтов
Нужно получить из массива байтов строку. Известно: индекс первого символа строка завершается до...

Получить строку Unicode из массива байт c 00 00 байтами
Есть массив байт в совокупности представляющий строку Unicode (каждый символ кодируется 2-мя...

Получить UTF8-строку из элементов массива (тип Байт)
Есть одномерный массив байтов (к примеру из десяти элементов). При этом Элемент 1 и Элемент 2 -...

Получить обычную строку (string) из массива байт Windows-1251
Здравствуйте! Есть массив byte, содержащий коды символов в кодировке windows-1251 (А=192, я=255)....

Получить из массива строку так, чтобы символы шли по порядку (ASCII), а в конце стояла точка
задание: 1. Дан символьный массив А(N), где N– заданное натуральное число. Получить из него строку...

Как получить строку с экранированными спецсимволами как они есть.
Есть задача - нужно скомпилить код на лету(т.е. динамически из строки).Но вот есть проблема - если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.