0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 20
1

Символьный массив отсортировать их методом пузырька в порядке убывания

20.06.2013, 15:20. Показов 2343. Ответов 24
Метки нет (Все метки)

Дан массив латинских букв А [1...n]. Отсортировать их методом пузырька в порядке убывания. Вычислить сумму кодов нечётных элементов. Вывести на экран отсортированный массив и вычисленное значение.
Нечётные элементы вывести в файл. Сортировка в виде процедуры, вычислить суммы в виде функций.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.06.2013, 15:20
Ответы с готовыми решениями:

Массив. Отсортировать методом «пузырька» в порядке убывания
Постановка задачи: написать программу, реализующую задание по обработке массива. Количество...

Отсортировать символьный массив методом выделения максимального элемента в порядке убывания
Нужна помощь. Может кто-нибудь написать код программы? Дан массив латинских букв А . Отсортировать...

Отсортировать символьный массив методом вставки в порядке убывания. Вычислить сумму кодов нечетных элементов
Дан массив латинских букв А . Отсортировать их методом вставки в порядке убывания. Вычислить сумму...

Отсортировать массив методом выбора в порядке убывания
Дан массив латинских букв А . Отсортировать их методом выбора в порядке убывания. Вычислить среднее...

24
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
20.06.2013, 15:41 2
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
uses crt;
const n=40;
type mas=array [1..n]of char;
procedure sort(var a:mas);
var i:integer;
    x:char;
    f:boolean;
begin
repeat
f:=true;
for i:=1 to n-1 do
if a[i]<a[i+1] then
  begin
   f:=false;
   x:=a[i];
   a[i]:=a[i+1];
   a[i+1]:=x;
  end;
until f;
end;
function summa(a:mas):integer;
var i,s:integer;
begin
s:=0;
for i:=1 to n do
if ord(a[i])mod 2<>0 then s:=s+ord(a[i]);
summa:=s
end;
var a:mas;
    i:integer;
    t:text;
Begin
clrscr;
writeln('Исходный массив:');
for i:=1 to n do
 begin
  a[i]:=chr(65+random(26));
  write(a[i]:2);
 end;
writeln;
sort(a);
writeln('Упорядоченный массив: ');
for i:=1 to n do
write(a[i]:2);
writeln;
write('Сумма нечетных кодов=',summa(a));
assign(t,'necet.txt');
rewrite(t);
for i:=1 to n do
if ord(a[i])mod 2<>0 then write(t,' ',a[i]);
close(t);
readln
end.
0
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 20
20.06.2013, 16:46  [ТС] 3
не работает
0
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
20.06.2013, 16:59 4
Значит не судьба. У меня работает.
Символьный массив отсортировать их методом пузырька в порядке убывания

Вот содержание выходного файла.
W W U U S S M M M M I I I G E E C A A A
0
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 20
21.06.2013, 02:33  [ТС] 5
у меня DOSBox, не из-за этого??)
0
3451 / 2389 / 2135
Регистрация: 04.12.2011
Сообщений: 3,966
21.06.2013, 09:50 6
Цитата Сообщение от Смоленцев Павел Посмотреть сообщение
у меня DOSBox
у меня в DosBox работает
Миниатюры
Символьный массив отсортировать их методом пузырька в порядке убывания  
0
Эксперт 1С
476 / 413 / 93
Регистрация: 26.09.2012
Сообщений: 1,908
21.06.2013, 11:30 7
мб просто файла нет, в каталоге с программой?
0
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 20
21.06.2013, 13:03  [ТС] 8
хз, прога не моя, попросили меня только) вот сам код, надо чтобы самостоятельо надо ввести размер массива и сам массив

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
uses crt;
type mas=array [1..100]of char;
var a:mas;
    n:integer;
procedure sort(var a:mas);
var i:integer;
    x:char;
    f:boolean;
begin
repeat
f:=true;
for i:=1 to n-1 do
if a[i]<a[i+1] then
  begin
   f:=false;
   x:=a[i];
   a[i]:=a[i+1];
   a[i+1]:=x;
  end;
until f;
end;
function summa(a:mas):integer;
var i,s:integer;
begin
s:=0;
for i:=1 to n do
if ord(a[i])mod 2<>0 then s:=s+ord(a[i]);
summa:=s
end;
var s:mas;
    i:integer;
    t:text;
Begin
clrscr;
writeln ('vvedite razmernoct:');
readln (n);
writeln('isxodniy massiv:');
for i:=1 to n do
 begin
  read(a[i]);
 end;
writeln;
sort(a);
writeln('yporadozeniy massiv: ');
for i:=1 to n do
write(a[i]:2);
writeln;
write('symma=',summa(a));
assign(t,'pezyitst.txt');
rewrite(t);
for i:=1 to n do
if ord(a[i])mod 2<>0 then write(t,' ',a[i]);
close(t);
readln
end.
0
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
21.06.2013, 13:06 9
Переделал программу через колено и молчит, только стонет...
0
Эксперт 1С
476 / 413 / 93
Регистрация: 26.09.2012
Сообщений: 1,908
21.06.2013, 13:13 10
Цитата Сообщение от Смоленцев Павел Посмотреть сообщение
assign(t,'pezyitst.txt');
попытка подключения к файлу pezyitst.txt, если его нет то и работать не будет соответственно его надо создать
0
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 20
21.06.2013, 13:39  [ТС] 11
Цитата Сообщение от Joker_vad Посмотреть сообщение
попытка подключения к файлу pezyitst.txt, если его нет то и работать не будет соответственно его надо создать
так он ее сам у меня саздоет
0
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
21.06.2013, 13:40 12
Раз уж пишешь в Турбо Паскале, то не применяй когда не нужно read, пиши readln
например здесь
Pascal
1
2
3
4
for i:=1 to n do
 begin
  readln(a[i]);
 end;
0
Эксперт 1С
476 / 413 / 93
Регистрация: 26.09.2012
Сообщений: 1,908
21.06.2013, 13:41 13
Цитата Сообщение от Смоленцев Павел Посмотреть сообщение
readln (n);
сам нашел?
0
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 20
21.06.2013, 14:12  [ТС] 14
у меня сам создает
0
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 20
21.06.2013, 14:27  [ТС] 15
дан массив латинских букв А(1...n)
отсортировать их методом пузырькав порядке убывания вычислить сумму кодов нечетных элементов . вывести на экран отсортированный массив и вычисленное значение

Потом дополнить
1)нечетные элементы вывести в фаил
2)сартировка в виде процедуры вычисление суммы в виде функции



вод масивва в ручную
0
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
21.06.2013, 14:38 16
Забодал ты уже своей "сартировкой".
Написал тебе программу, так ты ее запустить не умеешь, какой смысл тебе еще раз писать?
0
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 20
21.06.2013, 14:52  [ТС] 17
умею мне надо чтобы размер масива и исходный масив водился в ручную а ты написал что он сам водит
0
11 / 12 / 3
Регистрация: 16.06.2013
Сообщений: 61
21.06.2013, 14:53 18
А не нужно и писать ничего, максимум объяснить алгоритм. И пусть сами пишут и думают, может хоть немного мозгов прибавится!
0
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
21.06.2013, 14:56 19
@Смоленцев Павел, Так твоя же программа здесь
https://www.cyberforum.ru/post4752501.html
нормально работает, что еще нужно?
0
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 20
21.06.2013, 15:07  [ТС] 20
да она работает ток не доконца
сперва водишь размер масива например 9 все норм
потом водишь исходный масив тоесть буквы любые. надо вести тоже 9 а водится только 3 или 2
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2013, 15:07
Помогаю со студенческими работами здесь

Отсортировать массив в порядке убывания методом минимума
Требуется отсортировать массив в порядке убывания методом минимума. и использовать процедуры: ...

Отсортировать одномерный массив в порядке убывания методом пузырька
Здравствуйте очень нужна ваша помощь,готовлюсь к сесии,а она в пятницу ,в visual basik 6.0 написать...

Массив отсортировать методом пузырька в порядке возрастания элементов и вывести
«Дан одномерный массив целого типа. Получить другой массив, состоящий только из чисел исходного...

Отсортировать массив в порядке убывания и роста методом быстрой сортировки
Помогите пожалуйста отсортировать массив в порядке убывания и роста методом быстрой сортировки.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru