Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
The_Vingo
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 33
1

Переделать программу - строки

22.02.2013, 02:39. Просмотров 289. Ответов 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
uses crt;
type T_str=array [1..10] of string[80];
     T_set=set of char;
var s:T_str;
    alf:T_set;
    n,i,j,k,imn,imx,mn,mx:byte;
    x:string[80];
procedure vvod;
clrscr;
alf:=['1','3','5','7','9'];
repeat
 write ('Введите количество слов (не более 10) ');
 readln(n);
 if not (n in [1..10]) then writeln ('Ошибка ввода!');
until (n in [1..10]);
writeln('Введите ',n,' слов, содержащих цифры');
for i:=1 to n do
readln(s[i]);
imn:=1;imx:=1;
mn:=80;mx:=0;
for i:=1 to n do
 begin
  k:=0;
  for j:=1 to length(s[i]) do
  if s[i][j] in alf then k:=k+1;
  if k>mx then
   begin
    mx:=k;
    imx:=i;
   end
  else if k<mn then
   begin
    mn:=k;
    imn:=i;
   end;
 end;
writeln('Максимальное количество нечетных цифр в слове номер ',imx,'=',mx);
writeln('Минимальное  количество нечетных цифр в слове номер ',imn,'=',mn);
if imn=imx then write('Это одно слово, обмена нет')
else
 begin
  x:=s[imn];
  s[imn]:=s[imx];
  s[imx]:=x;
  writeln('Слова переставлены');
  for i:=1 to n do
  writeln(s[i]);
  end;
readln
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2013, 02:39
Ответы с готовыми решениями:

Переделать программу с while на repeat
program yulia1; var n,i: integer; begin n:=0; i:=-6; while i&lt;=4 do begin...

Переделать программу с while на repeat
program yulia2; var x: integer; begin x := -5; while x &lt;= 5 do begin...

Переделать программу с использованием модуля
помогите сделать задачу с помощью создание модуля вот сама задачка: ...

Переделать программу в процедуру и функцию
Помогите переделать программу в процедуру и функцию Program pr11; const n=10;...

Переделать программу через процедуры
Переделать программу через процедуры!!! Случайным образом заполнить матрицу...

3
Grek!
64 / 64 / 57
Регистрация: 13.04.2010
Сообщений: 150
22.02.2013, 10:12 2
Напиши задание, чтобы было понятно что должна делать программа.
0
The_Vingo
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 33
22.02.2013, 11:05  [ТС] 3
Дан массив из n слов произвольной длинны (длинна слова не превышает 80 символов). Слова могут содержать любые символы языка. Найти слова содержащие соответственно наибольшее и наименьшее количество нечетных цифры и поменять их местами.
0
Grek!
64 / 64 / 57
Регистрация: 13.04.2010
Сообщений: 150
22.02.2013, 11:40 4
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
uses crt;
type 
T_str=array [1..10] of string[80];
T_set=set of char;
var s:T_str;
    alf:T_set;
    n,i,j:byte;
    x:string[80];
 
procedure vvod (var m:T_str; z:integer);
begin
writeln('Введите ',z,' слов, содержащих цифры');
for i:=1 to z do
readln(m[i]);
end;
 
procedure poisk (var m:T_str; z:integer);
var k,imn,imx,mn,mx:byte;
begin
alf:=['1','3','5','7','9'];
imn:=1;imx:=1;
mn:=80;mx:=0;
for i:=1 to z do
begin
k:=0;
for j:=1 to length(m[i]) do
if m[i][j] in alf then k:=k+1;
if k>mx then
begin
mx:=k;
imx:=i;
end
else if k<mn then
begin
mn:=k;
imn:=i;
end;
end;
writeln('Максимальное количество нечетных цифр в слове номер ',imx,'=',mx);
writeln('Минимальное  количество нечетных цифр в слове номер ',imn,'=',mn);
if imn=imx then write('Это одно слово, обмена нет')
else
begin
  x:=m[imn];
  m[imn]:=m[imx];
  m[imx]:=x;
  writeln('Слова переставлены');
end;
  for i:=1 to z do
  writeln(m[i]);
end;
 
begin 
clrscr;
repeat
write ('Введите количество слов (не более 10) ');
readln(n);
if not (n in [1..10]) then writeln ('Ошибка ввода!');
until (n in [1..10]);
vvod(s,n);
poisk(s,n);
end.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2013, 11:40

Переделать программу с использованием функции
Есть программа считает кол-во отриц чисел и макс последовательность отриц...

Переделать программу на пользовательский модуль
Ребят есть программа(ниже) её нужно переделать на пользовательских модуль, т.е....

Переделать программу с использованием процедуры
Помогите...нужно в этом коде использовать где-нибудь &quot;процедуру&quot;! var A :...


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

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

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