Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
9 / 6 / 5
Регистрация: 12.05.2011
Сообщений: 282
1

Обьясните принцип работы программы

29.05.2011, 20:19. Показов 862. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
обьясните как работает программа и как вводить данные:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Uses crt;
Var sl:array[1..100] of string;
    a:array[1..100] of integer;
    s:array[1..100] of char;
    i,n,y,p,j:integer;
    str,o:string;
    bool:boolean;
begin clrscr;
     write('Vvedite kol-vo simvolov n: ');
     readln(n);
     for i:=2 to n+1 do
      begin
       write('s[',i-1,']=');
       readln(s[i]);
       str:=str+s[i];
      end;
     str:=' '+str+' ';
     for i:=1 to n+2 do
      if str[i]=' ' then begin y:=y+1; a[y]:=i; end;
     for i:=1 to (y div 2)+1 do
      sl[i]:=copy(str,a[i]+1,a[i+1]-a[i]-1);
     y:=y-1; p:=y;
     for i:=y downto 1 do
      begin
       bool:=false;
       for j:=1 to length(sl[i]) do
        begin
         if not(((sl[i][j]>='a') and (sl[i][j]<='z'))
         or ((sl[i][j]>='A') and (sl[i][j]<='Z'))) then bool:=true;
        end;
       if bool=true then for j:=i to y-1 do
                          sl[j]:=sl[j+1];
       if bool=true then p:=p-1;
      end;
     writeln('Vse slova nachinaushciesya na "a":');
      for i:=1 to p do
       if sl[i][1]='a' then writeln(sl[i]);
     while not(keypressed) do begin end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2011, 20:19
Ответы с готовыми решениями:

Объясните принцип работы программы
Помогите, пожалуйста разобраться с тем как работает программа. Вот такое условие: Сформировать...

Принцип работы программы по блок схеме
объясните как она работает полность

Принцип работы процедуры seek
подскажите пожалуйста как работает seek,и для чего он нужен.заранее спасибо

Написать комментарии поясняющие принцип работы программы
uses graphABC,crt; type mas=array of integer; var a: mas; procedure NeboDraw (z: mas); var...

6
7 / 7 / 7
Регистрация: 22.05.2011
Сообщений: 24
29.05.2011, 20:45 2
Интересная программа, а кто её писал?
По входным данным:
Вводите кол-во символов в предложении (включая пробелы), после по очереди все символы.
Вам должно выдать слова начинающиеся с буквы "А", хотя не возьмусь утверждать, что это будет так.
0
9 / 6 / 5
Регистрация: 12.05.2011
Сообщений: 282
29.05.2011, 20:47  [ТС] 3
а можно переделать так чтобы не вводить в начале количество символов, т.е. не ограничивать?
0
7 / 7 / 7
Регистрация: 22.05.2011
Сообщений: 24
29.05.2011, 20:50 4
Мне кажется, что легче написать новую, хотя переделать, конечно, можно.
0
9 / 6 / 5
Регистрация: 12.05.2011
Сообщений: 282
29.05.2011, 20:51  [ТС] 5
Врятли кто возьмется писать новую)
0
7 / 7 / 7
Регистрация: 22.05.2011
Сообщений: 24
29.05.2011, 21:03 6
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
26
27
28
29
30
31
32
33
Uses crt;
Var sl:array[1..100] of string;
    a:array[1..100] of integer;
    s:array[1..100] of char;
    i,n,y,p,j:integer;
    str,o:string;
    bool:boolean;
begin clrscr;
     writeln('Vvedite prrdlozhenie ');
     readln(str);
     str:=' '+str+' ';
     for i:=1 to length(str) do
      if str[i]=' ' then begin y:=y+1; a[y]:=i; end;
     for i:=1 to (y div 2)+1 do
      sl[i]:=copy(str,a[i]+1,a[i+1]-a[i]-1);
     y:=y-1; p:=y;
     for i:=y downto 1 do
      begin
       bool:=false;
       for j:=1 to length(sl[i]) do
        begin
         if not(((sl[i][j]>='a') and (sl[i][j]<='z'))
         or ((sl[i][j]>='A') and (sl[i][j]<='Z'))) then bool:=true;
        end;
       if bool=true then for j:=i to y-1 do
                          sl[j]:=sl[j+1];
       if bool=true then p:=p-1;
      end;
     writeln('Vse slova nachinaushciesya na "a":');
      for i:=1 to p do
       if sl[i][1]='a' then writeln(sl[i]);
     while not(keypressed) do begin end;
end.
Возможно так. Только теперь предложение вводится целиком.

Добавлено через 9 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Uses crt;
Var
    i:integer;
    str:string;
begin
clrscr;
     write('Vvedite prrdlozhenie ');
     readln(str);
     str:=' '+str+' ';
  for i:=1 to length (str) do
   if (str[i]=' ') and ((str[i+1]='a') or (str[i+1]='A')) then begin
   inc(i);
    while str[i]<>' ' do begin
    write(str[i]);  inc(i);
    end;
    writeln;
    end;
   readln;
end.
А вот мой вариант программы.
1
9 / 6 / 5
Регистрация: 12.05.2011
Сообщений: 282
29.05.2011, 21:34  [ТС] 7
спасиб!
0
29.05.2011, 21:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2011, 21:34
Помогаю со студенческими работами здесь

принцип работы циклов for,while
принцип работы циклов for,while

Обьясните и исправьте ошибки во фрагменте программы
Заранее спасибо Вложение удалено.

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

Обьясните принцип работы программы
#include &lt;stdio.h&gt; /* гистограмма частот встречаемости введенных символов подсчитываются...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru