Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1 / 1 / 0
Регистрация: 28.02.2014
Сообщений: 19

Перевести из C++ в Pascal ABC

13.03.2014, 22:43. Показов 1334. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
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
String st;
int ma=0;   //minimal'nyi razmer slova voobwe
int c=0;    //razmer tekuwego slova
int pos1=0,pos2=0;  //koordinaty nachala i konca minimal'nogo slova
cin>>st;    //schitali stroku
for(int i=0;i<st.length();i++)  // prohodim po vsei stroke
    {
        if(st[i]==' ')  //esli simvol probel, znachit predyduwee slovo zakonchilos'
            { 
                if(c<ma)    //esli tekuwee slovo men'we minimal'nogo
                   {
                    ma=c;pos1=i-c;pos2=i;c=0;   //zapominaem razmer minimal'nogo slova 
                                        //pos1 poziciya nachala etogo minimal'nogo slova
                                    //pos2 poziciya konca
                                    //obnulyaem razmer tekuwego slova, tak kak ono konchilos'
                   }
            }
        else c++; //esli simvol ne stroka , to uvelichivaem razmer tekuwego slova
    }
String rez="";//delaem novuyu stroku ,v kotoroi ne budet minimal'nogo slova
for(int i=0;i<pos1;i++)
rez+=st[i]; //zapihivaem v novuyu stroku simvoly iz staroi , do momenta nachala minimal'nogo slova
for(int i=pos2+1;i<st.length();i++)
rez+=st[i];
cout<<rez;  //v stroke rez hranitsya tot samyi text, bez slova minimal'nogo
Переведите пожалуйста в Паскаль, заранее спасибо
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.03.2014, 22:43
Ответы с готовыми решениями:

Перевести код Pascal ABC NET в Pascal ABC
Помогите, плиз Сделал на Pascal ABC NET, но нужно его открыть в обычном Pascal ABC. Не компилит этот код, помогите исправить. uses ...

Перевести в код Pascal ABC из кода Pascal Delphi
Помогите перевести в код ABC а то с Delphi вообще не знаком. Задание было такое: Записать в файл последовательного доступа N...

Перевести в код Pascal ABC из кода Pascal Delphi
procedure TForm1.Button1Click(Sender: TObject); const n=8; var x:array of real; y,z:array of real; i,j:byte; begin ...

1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
14.03.2014, 00:31
Лучший ответ Сообщение было отмечено Legomegger как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var
  st, rez: string;
  ma, c, i, pos1, pos2: integer;
begin
  ma:=0;   { минимальный размер слова вообще }
  c:=0;    { размер текущего слова }
  pos1:=1; pos2:=1;  { координаты начала и конца минимального слова }
  ReadLn(st);    { считали строку }
  for i:=1 to Length(st) do { проходим по всей строке }
    if st[i]<>' ' then   { если не пробел, }
      inc(c)             { ... то увеличиваем размер текущего слова }
    else                 { ... иначе пробел, значит слово закончилось }
      if c<ma then begin { если текущее слово меньше минимального }
        ma:=c;     { запоминаем размер минимального слова }
        pos1:=i-c; { pos1 - позиция начала этого слова }
        pos2:=i;   { pos2 - позиция конца этого слова }
        c:=0;      { обнуляем размер текущего слова, так как оно кончилось }
      end;
  rez:=''; { новая строка, в которой не будет минимального слова }
  for i:=1 to pos1-1 do rez:=rez+st[i]; { запоминаем в новую строку символы из старой до начала минимального слова }
  for i:=pos2+1 to Length(st) do rez:=rez+st[i];
  WriteLn(rez);  { в строке rez хранится тот самый текст без слова минимального }
end.
Добавлено через 10 минут
Строки 19-21 эквивалентны
Pascal
1
rez:=copy(st,1,pos1-1)+copy(st,pos2+1,Length(st)-pos2);
Дефект использованного алгоритма: если самое короткое слово последнее и после него нет пробела, оно не будет вырезано, вместо него будет вырезано другое слово. Если условием предусмотрен завершающий пробел, то этот дефект не имеет значения.

Добавлено через 5 минут
Существенный дефект алгоритма -- строка 5: ma:=0;
Из-за этого условие if c<ma then будет всегда ложным.
Исправление: после строки 8 добавить: ma:=Length(st);, строку 5 удалить,
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2014, 00:31
Помогаю со студенческими работами здесь

Нужно перевести код из Turbo Pascal в Pascal ABC
Program n5; { Задача. Описать функцию less(f) от непустого файла f типа reals, type = file of...

Перевести из Turbo Pascal в Pascal ABC
Добрый вечер. Необходимо перевести этот код из Turbo Pascal в Pascal ABC. Заранее спасибо. uses crt,graph; function F(x:real):real; ...

Перевести с C++ на Pascal ABC
Ребята срочно нужно перевести на ABC. Помогайте) int i, j, sum=0; for (i=2013; i&lt;10000; i++) { for (j=1; j&lt;i; j++) if...

Перевести в Pascal ABC
Нужно перевести вот этот код на Pascal ABC.Помогите пожалуйста) uses graph,crt; var device,mode,x,y:integer; p:pointer; ...

Перевести программу в Pascal ABC
program zd2; uses graph,crt; var i,j,d,m,e,x:integer; procedure sqare(x,y:integer); begin linerel(500,0); linerel(0,500); ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru