Строки - очень прикольно)))))!

Тема в разделе "Общие вопросы по С и С++", создана пользователем Homoerro, 20 фев 2007.

Статус темы:
Закрыта.
  1. Homoerro

    Homoerro Гость

    ПРИВЕТСТВУЮ ВСЕХ ВЕЛИКИХ ЗНАТОКОВ ПРОГРАММИРОВАНИЯ НА Turbo C++ :( !!!
    У МЕНЯ ОЧЕНЬ СЕРЬЕЗНАЯ ПРОБЛЕММА.
    Я НАЧИНАЮЩИЙ ПРОГРАММИСТ И У МЕНЯ ВЫШЛИ СЕРЬЕЗНЫЕ ПРОБЛЕММЫ С ЛАБОРАТОРНОЙ ПО СТРОКАМ.
    В СВЯЗИ С ТЕМ, ЧТО Я ПЛОХО ЗНАЮ СИНТАКСИС ЯЗЫКА С++, НО Я НЕМНОГО ЗНАЮ ПАСКАЛЬ, И Я ЭТУ ЛАБУ СДЕЛАЛ НА ПАСКАЛЕ, НО МНЕ НАДО НА С++ И Я ВАС ОЧЕНЬ ПРОШУ ЗНАТОКИ ПРОГРАММИРОВАНИЯ ПОМОЧЬ МНЕ.
    ЗАРАНЕЕ ОГРОМНЫЙ РЕСПЕКТ И УВАЖЕНИЕ И БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!

    ВОТ САМИ ЗАДАНИЯ:
    1)Дана последовательность слов. Напечатать те слова последовательности, которые отличны от последнего слова и удовлетворяют следующему свойству: слово симметрично.

    2)В заданной строке удалить все символы двоеточие :)rolleyes: и подсчитать количество удаленных символов.
    3)Программа. Дана непустая последовательность непустых слов из латинских букв; соседние слова отделены друг от друга запятой, за последним словом—точка. Определить количество слов, которые оканчиваются буквой w;


    Тонкости, которые должны быть в программе:
    1)запрашивает какую из приведенных в варианте задач следует выполнить,
    2)запрашивает необходимые данные в main,
    3)передает входные данные в соответствующую функцию,
    4)результат выводится из main.




    Решение на Паскале:

    var
    k,k1,n,i,j,pr,pr1,a,s,q,p,m : integer;
    st,st1,st2,st3,st4,st5 : string;
    begin
    writeln(' CTPOKA = ');
    readln(st3);
    k:=length(st3);
    n:=0;
    while st3[k]<>' ' do
    begin
    k:=k-1;
    n:=n+1
    end;
    st1:=copy(st3,k+1,n);

    st:='';
    for i:=1 to k do
    begin
    if st3<>' '
    then st:=st+st3
    else
    begin
    pr:=0;k1:=length(st);
    for j:=1 to length(st) div 2 do
    if st[j]<>st[k1-j+1] then pr:=1;
    if pr=0 then
    begin
    if length(st)=length(st1)
    then
    begin
    pr1:=0;
    for j:=1 to length(st) do
    if st[j] <> st1[j] then pr1:=1;
    end
    else pr1:=1;
    end;
    if (pr=0) and (pr1=1) then writeln(st);
    st:='';
    end;
    end;



    writeln(' CTPOKA= ');
    readln(st4);
    a:=0;
    s:=0;
    q:=length(st4);
    while q>= 0 do
    begin
    if st4[q]= ':' then
    begin
    delete(st4,q,1);

    s:=s+1;
    end;
    q:=q-1;
    end;
    writeln(st4);
    writeln(' kol-vo udalennih := ',s);


    writeln('CTPOKA= '); readln(st5);
    m:=1;p:=0;
    while m<=length(st5) do
    begin
    if (st5[m]=',') or (st5[m]='.') then
    if st5[m-1]='w'
    then p:=p+1;
    inc(m)
    end;
    writeln('zakan4. na w ',p,' slov(a)');

    readln
    end.



    Ну что ж, вот они те самые логаритмы решения этих задачек.
    Очень прошу переведите это все на язык С++!!!
    ЗАРАНЕЕ ОГРОМНЫЙ РЕСПЕКТ И УВАЖЕНИЕ И БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!
     
  2. garrymax

    garrymax Гость

    Ручками в лом, но если прикрепленный файл не подойдет (этот под QuickC, но должен - код простой), то:

    Вариант 1: набери в поисковике pas2c
    Вариант 2: возьми в любой UNIX-системе (например в FreeBSD я видел такое в портах) и откомпилячь в своем турбо
     

    Вложения:

    • pas2c.rar
      Размер файла:
      97,6 КБ
      Просмотров:
      336
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей