подскажите,пожалуйста, где здесь ошибка!, Программирование с использованием массивов |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
подскажите,пожалуйста, где здесь ошибка!, Программирование с использованием массивов |
Lexa15 |
20.12.2011 20:28
Сообщение
#1
|
Группа: Пользователи Сообщений: 9 Пол: Женский Реальное имя: Алена Репутация: 0 |
Подскажите где ошибка и как ее исправить
Условие:Поменять местами минимальный и максимальный элементы массива размера 10.. Program Mas; Var M:Array[1..10] of real; Max, Min, MN:real; I:integer; begin for I:=1 to 10 Do real (M[I]); Max:=M[1]; K:=1; Min:=M[1]; N:=1; for I:=2 To 10 Do; Begin If M[1]>Max then begin Max:=M[1]; K:=1; end; if M[I]<min then begin Min:=M[I]; N:=I; end; end; MN:=M[K]; M[K]:=M[N]; M[N]:=MN; For I:=1 to 10 do writeln(M[I]); end. |
Lexa15 |
20.12.2011 21:29
Сообщение
#2
|
Группа: Пользователи Сообщений: 9 Пол: Женский Реальное имя: Алена Репутация: 0 |
Uses Crt;
var i,j,n,m,S:integer; min,max:real; A:array [1..10] of word; BEGIN CLRSCR; max:=0; for i:=1 to 10 do begin write('A[',i,']='); readln(A[i]); if A[i]>max then begin max:=A[i]; n:=i;{надо запомнить наш максимальный элемент} end; end; min:=max+1; for i:=1 to 10 do begin if A[i]<min then begin min:=A[i]; m:=i;{запоминаем наш минимальный} end; end; if m-1>=n+1 then begin for i:=n+1 to m-1 do A[i]:=0; end else begin for i:=m+1 to n-1 do A[i]:=0; end; for i:=1 to 10 do write(A[i],' '); Writeln; Writeln('min = ',max); Writeln('max = ',min); Writeln; Readln; END. Так верно будет? проверяю работает Сообщение отредактировано: Lexa15 - 20.12.2011 21:30 |
Krjuger |
21.12.2011 0:02
Сообщение
#3
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Зачем же столько циклов,чтобы поменять местами 2 элемента.....
Проверьте только,а то паскаля под рукой нету,я исправил ваш первый пост) P.S.Все таки пришлось проверить и поменять, как совет буд те внимательней и не путайте константы и переменные)Я про первый пост,второй даже не интересовал,уж слишком много циклов. Сообщение отредактировано: Krjuger - 21.12.2011 0:12 |
IUnknown |
21.12.2011 9:35
Сообщение
#4
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
for I:=1 to 10 DoНе проще, чем вести еще и переменную Min/Max? |
Krjuger |
21.12.2011 17:59
Сообщение
#5
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Проще,но время было позднее...
Чтобы уж совсем все было шикарно) Сообщение отредактировано: Krjuger - 21.12.2011 18:01 |
Текстовая версия | 24.09.2024 17:55 |