Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
localhost
58 / 58 / 9
Регистрация: 02.09.2009
Сообщений: 170
1

Масивы "начало"

22.10.2009, 23:17. Показов 507. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Программа которая сортирует элементы в порядку возрастания:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses crt;
const n=4;
 a:array[1..n] of integer=(7,3,5,8);
var
 i,j,c:integer;
 
begin
ClrScr;
 
 for j:=1 to n-1 do
 for i:=1 to n-j do
  if a[i] > a[i+1] then
  begin
   c:=a[i];  a[i]:=a[i+1];  a[i+1]:=c;
    end;
 for i:=1 to n do
  WriteLn(a[i]);
 end.
Этот фрагмент :
Pascal
1
if a[i] > a[i+1] then
a[i] = 735737
a[i+1] = 358353

Почему?Как выполняется такое действие: i+1 ?
Объясните пожалуйста!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2009, 23:17
Ответы с готовыми решениями:

Масивы
Привет Люди, снова нужна ваша помощь .... Решите задачи если не трудно... 1)Дано ...

масивы
дана прямоугольная матрица F подсчитать средние арифметическое отрицательных элементов в матрице....

Масивы
Задание на скриншоте ниже: http://img7.imageshost.ru/imgs/091012/5aad99e3a4/adbea.jpg

Масивы
Подсчитать средний балл на экзамене по вычислительной технике в группе из 30 ...

6
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
22.10.2009, 23:20 2
Что у Вас за мешанина из сортировок, понять нельзя. Напишите так
Pascal
1
2
3
4
5
6
for i:=1 to n-1 do
for j:=i+1 to n do
  if a[i] > a[j] then
  begin
   c:=a[i];  a[i]:=a[j];  a[j]:=c;
    end;
0
localhost
58 / 58 / 9
Регистрация: 02.09.2009
Сообщений: 170
22.10.2009, 23:23  [ТС] 3
Преподаватель так написал,вот и стараюсь понять
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
22.10.2009, 23:34 4
У меня все нормально выдает 3 5 7 8

Добавлено через 1 минуту
a[i] = 735737
a[i+1] = 358353
А это что за числа? Ведь a[i],a[i+1] могут принимать значения 3 5 7 8
0
localhost
58 / 58 / 9
Регистрация: 02.09.2009
Сообщений: 170
22.10.2009, 23:39  [ТС] 5
Да,ваш вариант много лучше,но я стараюсь понять как оно работает.Если вам не трудно объясните пожалуйста:
Pascal
1
2
for i:=1 to n-1 do
for j:=i+1 to n do
почему именно так.

Добавлено через 2 минуты
Цитата Сообщение от Puporev Посмотреть сообщение
a[i] = 735737
a[i+1] = 358353
Это если:

Pascal
1
2
3
4
for j:=1 to n-1 do
 for i:=1 to n-j do
 
   WriteLn(a[i],' ',a[i+1]);
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
22.10.2009, 23:46 6
Сравниваем поочередно элементы с первого до предпоследнего
for i:=1 to n-1 do
с элементами которые впереди и ищем первый меньше данного
for j:=i+1 to n do
, находим, меняем местами, переходим к следующему.
for j:=i+1 to n do
потому что сзади уже отсортированные элементы
Ваш массив
7,3,5,8
1.сравниваем первый элемент, меняем 7 и 3 3, 7, 5, 8
2. второй меняем 7 и 5 3, 5, 7, 8
больше обменов нет.
1
localhost
58 / 58 / 9
Регистрация: 02.09.2009
Сообщений: 170
22.10.2009, 23:53  [ТС] 7
ОоО!!Спасибо большое,я уже понял!Туплю просто...
0
22.10.2009, 23:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.10.2009, 23:53
Помогаю со студенческими работами здесь

Масивы
Дан статичный массив А(1,8,-7,6,-15), сформировать динамичный массив Б, который будет содержать...

Масивы
Помогите пожалуйста...Голову уже как часа 2 ломаю((( Программа должна осуществлять: 1)Ввод с...

Масивы
Задана последовательность из N вещественных чисел. Определить, сколько среди них чисел меньших К,...

Масивы!
1.Задан Массив M i,j =1,10 (над цифрами __) , найти произведение элементов 2-го столбца. (с...

МАсивы
В масивію,що складається з дійсних елементів обчисліть: номер мінімального елемента мисива))....

Масивы и списки
Вообшем возникло пару проблем с решением нескольких курсовых задач: 1)(Динамический масивы):...

двумерные масивы
Написать программу, которая формирует матрицу n*n в следующем виде: 1 0 0 ... 0 0 0 1 2 0...


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

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