подскажите,пожалуйста, где здесь ошибка!, Программирование с использованием массивов |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
подскажите,пожалуйста, где здесь ошибка!, Программирование с использованием массивов |
Lexa15 |
Сообщение
#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 |
Сообщение
#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 - |
Krjuger |
Сообщение
#3
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Зачем же столько циклов,чтобы поменять местами 2 элемента.....
Проверьте только,а то паскаля под рукой нету,я исправил ваш первый пост) P.S.Все таки пришлось проверить и поменять, как совет буд те внимательней и не путайте константы и переменные)Я про первый пост,второй даже не интересовал,уж слишком много циклов. Сообщение отредактировано: Krjuger - |
IUnknown |
Сообщение
#4
|
Гуру Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: 627 |
for I:=1 to 10 DoНе проще, чем вести еще и переменную Min/Max? |
Krjuger |
Сообщение
#5
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Проще,но время было позднее...
Чтобы уж совсем все было шикарно) Сообщение отредактировано: Krjuger - |
Текстовая версия | 23.12.2024 19:59 |