IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> 7. Написать программу, которая находит минимальный и максимальный элементы массива и выводит их индексы., Нашла максимальный и минимальный элемент, как вывести их индексы?
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 6
Пол: Женский

Репутация: -  0  +


Program z7;
Var A:array [1..8] of integer;
    i,MAX, MIN:integer;
Begin
for i:=1 to 8 do
Begin
A[i]:=random(15)-5;
End;
WriteLn(A[i]);
MAX:=A[1];
for i:=2 to 8 do
Begin
if MAX<A[i] then
Max:=A[i];
End;
WriteLn(MAX);
for i:=2 to 8 do
Begin
if MIN>A[i] then
MIN:=A[i];
End;
WriteLn(MIN);
End.

Насчет минимального значения не уверена.
Как вообще можно узнать значение индекса элемента?

Сообщение отредактировано: Nagare Boshi -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +



Program z7;
const
n=8;
Var A:array [1..n] of integer;
   i,MAX, MIN:integer;
   iMax,iMin:integer;
Begin
  for i:=1 to n do
    Begin
     A[i]:=random(15)-5;
     WriteLn(A[i]);
   End;
  MAX:=A[1];
  MIN:=A[1];
  for i:=2 to n do 
   begin
     if MAX<A[i] then
      Begin
        Max:=A[i];
        iMax:=i;
     End;
    if MIN>A[i] then
      Begin
        MIN:=A[i];
        iMin:=i;
     End;
  end;
WriteLn(MAX, IMax);
WriteLn(MIN, iMIn);
End.


Сообщение отредактировано: Ozzя -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Ozzя, твой код не сработает, если мин/макс в первом элементе - ты забыл инициализировать imin и imax. Это можно исправить, но лучше совсем не использовать MIN и MAX, а только их индексы. Вот так:

Program z7;
const
  n=8;
Var
  A:array [1..n] of integer;
  i,iMax,iMin:integer;

Begin
  for i:=1 to n do Begin
     A[i]:=random(15)-5;
     WriteLn(A[i]);
  End;
  iMax:=1;
  iMin:=1;
  for i:=2 to n do begin
    if A[iMax]<A[i] then iMax:=i;
    if A[iMin]>A[i] then iMin:=i;
  end;
  WriteLn('Max: ',A[iMax],' at ',iMax);
  WriteLn('Min: ',A[iMin],' at ',iMIn);
End.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





Группа: Пользователи
Сообщений: 6
Пол: Женский

Репутация: -  0  +


А что значит at? unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Nagare Boshi @ 9.01.2010 2:19) *
А что значит at? unsure.gif
В данном случае - "в позиции". Вообще - предлог со значениями "у", "в" (перевод)

Учи английский, он весьма полезен в программировании. Паскаль, кстати, тут ни при чем.. ))


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 13.01.2025 12:00
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name