Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2008, 17:44   #1
masil
 
Аватар для masil
 
Регистрация: 21.11.2008
Сообщений: 5
Сообщение задачка про одномерный массив

накидайде пожалуйста рабочую программу,а то препод завалил работами меня
задачка звучит так:
Цитата:
Имеется массив А,содержащий n элементов. Разместить элементы массива в порядке возрастания значений.
буду признательна за любую помощь
masil вне форума Ответить с цитированием
Старый 21.11.2008, 18:08   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Банальная сортировка


Код:
uses crt;
const n=10;
var i,j,temp:integer;
     a:array[1..n] of integer;

begin
clrscr;
randomize;
 for i:=1 to n do
  begin
   a[i]:=random(100);
   write(a[i],' ');
  end;
writeln;
  for i:=2 to n do
    for j:=n downto i do
      if a[j-1]>a[j] then
        begin
          Temp:=a[j-1];
          a[j-1]:=a[j];
          a[j]:=temp;
        end;
writeln;
for i:=1 to n do
 write(a[i],' ');
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 21.11.2008, 19:16   #3
masil
 
Аватар для masil
 
Регистрация: 21.11.2008
Сообщений: 5
По умолчанию

спасибки тебе сейчас постараюсь блок схемку сама нарисовать ! ты мастер ! :-*
masil вне форума Ответить с цитированием
Старый 21.11.2008, 19:27   #4
sverhuVniz
Пользователь
 
Аватар для sverhuVniz
 
Регистрация: 24.10.2008
Сообщений: 32
По умолчанию

зачем так долго?
___________________________________ ____________
ВОН ВЫГНАТЬ ПРОКЛЯТЫХ СПАММЕРОВ!
sverhuVniz вне форума Ответить с цитированием
Старый 21.11.2008, 19:53   #5
sverhuVniz
Пользователь
 
Аватар для sverhuVniz
 
Регистрация: 24.10.2008
Сообщений: 32
По умолчанию

program puzirok;
var a:array [1..100] of integer;
n,i,k,w:integer;
begin
readln(n);
for i:=1 to n do
begin
a[i]:=random(20);{заполняем массив случайными числами}
write(a[i]); <<<<<вывод на экран первоначального массива
write(' ');
end;
writeln;
for w:=1 to n-1 do <<<<сотртировка методом пузырька
for i:=1 to n-w do
if a[i]>a[i+1] then
begin
k:=a[i+1];
a[i+1]:=a[i];
a[i]:=k;
end;
for i:=1 to n do <<<<вывод полученного массива
begin
write(a[i]);
write(' ');
end;
writeln;
end.
___________________________________ ____________
ВОН ВЫГНАТЬ ПРОКЛЯТЫХ СПАММЕРОВ!
sverhuVniz вне форума Ответить с цитированием
Старый 21.11.2008, 19:53   #6
sverhuVniz
Пользователь
 
Аватар для sverhuVniz
 
Регистрация: 24.10.2008
Сообщений: 32
По умолчанию

каждый челове должен уметь делать простую сортировку методом пузырька
___________________________________ ____________
ВОН ВЫГНАТЬ ПРОКЛЯТЫХ СПАММЕРОВ!
sverhuVniz вне форума Ответить с цитированием
Старый 21.11.2008, 19:54   #7
sverhuVniz
Пользователь
 
Аватар для sverhuVniz
 
Регистрация: 24.10.2008
Сообщений: 32
По умолчанию

вот те на будущие сам цикл сортировки
for w:=1 to n-1 do <<<<сотртировка методом пузырька
for i:=1 to n-w do
if a[i]>a[i+1] then
begin
k:=a[i+1];
a[i+1]:=a[i];
a[i]:=k;
end;
___________________________________ ____________
ВОН ВЫГНАТЬ ПРОКЛЯТЫХ СПАММЕРОВ!
sverhuVniz вне форума Ответить с цитированием
Старый 21.11.2008, 20:17   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Цитата:
каждый челове должен уметь делать простую сортировку методом пузырька
Каждый программист должен знать о существовании линейной сортировки:
Код:
const N = 10;
var A: array[1..N] of Byte;
    Sort: array[Byte] of Byte;
    I, J: Integer;
begin
  Randomize;
  for i:=1 to n do
    begin
     a[i]:=random(100);
     write(a[i],' ');
    end;
  writeln;
 
  FillChar (Sort, SizeOf (Sort), 0);
  for I := 1 to N do {<<<<сотртировка линейным методом}
    Inc (Sort[A[I]]);

  for I := 0 to 255 do {<<<<вывод полученного массива}
    for J := 1 to Sort[I] do
      Write (I, ' ');

  ReadLn;
end.

Последний раз редактировалось Arigato; 21.11.2008 в 20:22.
Arigato вне форума Ответить с цитированием
Старый 26.11.2008, 21:05   #9
masil
 
Аватар для masil
 
Регистрация: 21.11.2008
Сообщений: 5
Сообщение

alex_fcsm, Arigato спасибо и то и то подходит :-*
-
не хочется создавать мне новый топик,я напишу здесь.

в общем задачка про работу с 2-х мерными массивами задали,как с этим работать я не совсем разобралась(

задачка:
Цитата:
Дана матрица,размеры которой 10 x 10,найти максимальное среди сумм элементов диагоналей параллельных главной.
напишите работающий код пожалуйста буду вам очень благодарна
masil вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачка про массив - Из массива удалить четные элементы, стоящие после максимального Crookers Общие вопросы C/C++ 4 23.09.2008 19:35
одномерный массив ldx Паскаль, Turbo Pascal, PascalABC.NET 4 06.06.2008 17:45
одномерный массив fatdog Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 23.02.2008 10:05
Задачка на одномерный массив RECREATOR Помощь студентам 1 18.12.2007 08:01
Массив Одномерный flait111 Помощь студентам 3 15.12.2007 14:08