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

При выполнении разных операций с массивами, получается так, что первый элемент является нулевым

06.12.2013, 06:04. Показов 499. Ответов 2
Метки нет (Все метки)

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
const n=10;
var a:array[1..n] of integer;
i,max,min,nummax,nummin:integer;
begin
randomize;
writeln('Array:');
for i:=1 to n do begin
                 a[i]:=random(20)-5;
                 write(a[i]:4);
                 end;
max:=1; min:=1;                 
for i:=1 to n do
if a[i]>max then begin
                 max:=a[i];
                 nummax:=i;
                 end;
for i:=1 to n do
if a[i]<min then begin
                 min:=a[i];
                 nummin:=i;
                 end;
{Поменять местиами максимальный элемент с минимальным}
writeln;
writeln('Max switched with min');
for i:=1 to n do
write(a[i]:4);
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2013, 06:04
Ответы с готовыми решениями:

При выполнении разных операций с MS VS2013, например, при закрытии, иногда появляется ошибка
В кодерстве совсем-совсем новичёк, поэтому извиняйте за нубость вопроса. Пытаюсь разобраться в...

Что у меня ту не так? Мне надо первый и последний элемент массива покрасить в бюрюзовый цвет
program Alex; uses crt; var N: array of integer; i:integer; begin ClrScr; Randomize; for...

Зависание формы при потере фокуса при выполнении в ней фоновых операций
Здравствуйте, коллеги. Возник следующий вопрос, который не получается решить самостоятельно....

Переполнение при выполнении арифметических операций
Имеется одна незамысловатая строчка кода. Здесь в один из стеков, содержащихся в матрице DP,...

2
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
06.12.2013, 08:38 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
uses crt;
const n=10;
var a:array[1..n] of integer;
    i,max,min,x:integer;
begin
clrscr;
randomize;
writeln('Array:');
for i:=1 to n do
 begin
  a[i]:=random(20)-5;
  write(a[i]:4);
 end;
writeln;
max:=1; min:=1;
for i:=1 to n do
if a[i]>a[max] then max:=i
else if a[i]<a[min] then min:=i;
writeln('Max element a[',max,']=',a[max],' min element a[',min,']=',a[min]);
x:=a[max];
a[max]:=a[min];
a[min]:=x;
writeln('Max switched with min');
for i:=1 to n do
write(a[i]:4);
readln
end.
0
913 / 240 / 100
Регистрация: 21.10.2012
Сообщений: 580
06.12.2013, 08:49 3
Самая частая ошибка:
Цитата Сообщение от Sethliwe Посмотреть сообщение
max:=1; min:=1;
должно быть:

max:=a[1]; min:=a[1];

Если исправлять Вашу, Sethliwe, то полагаю, так:

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
const n=10;
var a:array[1..n] of integer;
i,max,min,nummax,nummin,tmp:integer;
begin
randomize;
writeln('Array:');
for i:=1 to n do begin
                 a[i]:=random(20)-5;
                 write(a[i]:4);
                 end;
max:=1; min:=1;                 
for i:=1 to n do
if a[i]>max then begin
                 max:=a[i];
                 nummax:=i;
                 end;
for i:=1 to n do
if a[i]<min then begin
                 min:=a[i];
                 nummin:=i;
                 end;
{Меняем местиами максимальный элемент с минимальным}
tmp:=a[nummin];a[nummin]:=a[nummax];a[nummax]:=tmp;
writeln;
writeln('Max switched with min');
for i:=1 to n do
write(a[i]:4);
end.
Про повторы минимумов и максимумов в условии ничего не сказано.
0
06.12.2013, 08:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2013, 08:49
Помогаю со студенческими работами здесь

При выполнении операций +, — , * и / не очищать экран
Всем доброго дня! Подскажите , что нужно сделать в коде ниже, чтобы при нажатии на операцию...

Ошибка при выполнении целочисленных арифметических операций
Помогите, пожалуйста, с прогой. Пишу простейшую штуку на масме, вот код:...

Погрешность при выполнении операций с вещественными числами
вот в ходе изучения…назрел еще один вопросик) 2.39 * 5 с каких это пор оно стало равно о_О...

Label не отрисовывается при выполнении длительных операций
Здравствуйте! Тут такая проблема: имеется label, у которого в коде меняется свойство Text. После...

Как сделать так, что бы текст в блоке, был в ряд, при разных разрешениях экрана
Как сделать так, что бы текст в блоке, был в ряд, при разных разрешениях экрана ? html &lt;div...

Одна и та же ошибка при выполнении различных операций с системой
&quot;Сломалась&quot; ОС. :( Началось с того, что при попытке установить очередной кумулятивный патч...


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

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