алексей555 Опубликовано 16 декабря, 2013 Жалоба Поделиться Опубликовано 16 декабря, 2013 Помогите !! в языках программирования я не очень, но обещаю исправиться, а пока не могу отладить прогамму! Задание В вещественном векторе А(n) найти наибольший элемент и поменять его с первым элементом. Вывести преобразованный вектор!:Программа работает только на первых 2 элемента вектора, а остальные не корректно заменяет вообщем вот кодprogram vector;var A:array [1..30] of real;num,i,n:byte;max:real; begin writeln('Введите размерность вектора '); read(n);writeln('введите элементы вектора через пробел ');for i:=1 to n doread(A[i]);max:=A[i]; num:=1;for i:=1 to n dobeginif maxmax:=A[i];num:=i;end;end;A[num]:=A[1];A[1]:=max;for i:=1 to n dowrite(' ', A[i]);writelnend.помогите уважаемые гуру!! Ссылка на комментарий
aspirin Опубликовано 16 декабря, 2013 Жалоба Поделиться Опубликовано 16 декабря, 2013 эхх, давно не занимался( паскаля нетуно вижу ошибкувводишь массив, у тебя переменная i остаётся равным 30, соотвественоо мах = 30-му элементу массива, а номер элемента num ты присваиваешь 1.сделай мах:=А[1]max:=A[1]; num:=1;for i:=2 to n doif A[i]>max thenbeginmax:=A[i];num:=i;end;A[num]:=A[1];A[1]:=max;Добавлено спустя 1 минуту 42 секунды:а может и я сам где то ошибаюсь, проверить не чемну хоть вспомнил чуть-чуть Ссылка на комментарий
алексей555 Опубликовано 16 декабря, 2013 Автор Жалоба Поделиться Опубликовано 16 декабря, 2013 aspirin спасибо за предложение, но всё же, 3 элемент вектора остаётся без изменений!! может ещё где ошибка в записи ? Ссылка на комментарий
aspirin Опубликовано 16 декабря, 2013 Жалоба Поделиться Опубликовано 16 декабря, 2013 в смысле третий без изменений?программа должна поменять местами первый элемент с максимальным, и всё, больше ничего в массиве меняться не должноДобавлено спустя 14 минут 1 секунду:массив:11 5 24 52 12 47 23 15 6 10 54 99 13 41 65 12 15 45 65 32 21 22 44 55 74 65 20 12 31 20на выходе программы:99 5 24 52 12 47 23 15 6 10 54 11 13 41 65 12 15 45 65 32 21 22 44 55 74 65 20 12 31 20поменяли 1-й с 12-м Ссылка на комментарий
алексей555 Опубликовано 16 декабря, 2013 Автор Жалоба Поделиться Опубликовано 16 декабря, 2013 aspirin так вот я получил11 5 24 52 12 47 23 15 6 10 54 99 13 41 65 12 15 45 65 32 21 22 44 55 74 65 20 12 31 20на выходе 24 5 11 52 12 47 23 15 6 10 54 99 13 41 65 12 15 45 65 32 21 22 44 55 74 65 20 12 31 20 Ссылка на комментарий
ArtyomK Опубликовано 16 декабря, 2013 Жалоба Поделиться Опубликовано 16 декабря, 2013 У меня нормально работает в исправленном варианте:program vector;var A:array [1..30] of real;num,i,n:byte;max:real;beginwriteln('enter dimension -> ');read(n);writeln('enter elements -> ');for i:=1 to n do read(A[i]);max:=A[1]; num:=1;for i:=1 to n dobegin if max begin max:=A[i]; num:=i; end;end;A[num]:=A[1];A[1]:=max;for i:=1 to n do write(' ', A[i]);writeln;end.IN:11 5 24 52 12 47 23 15 6 10 54 99 13 41 65 12 15 45 65 32 21 22 44 55 74 65 20 12 31 20OUT:99 5 24 52 12 47 23 15 6 10 54 11 13 41 65 12 15 45 65 32 21 22 44 55 74 65 20 12 31 20 Ссылка на комментарий
aspirin Опубликовано 16 декабря, 2013 Жалоба Поделиться Опубликовано 16 декабря, 2013 я видимо операторные скобки не поставил Ссылка на комментарий
алексей555 Опубликовано 16 декабря, 2013 Автор Жалоба Поделиться Опубликовано 16 декабря, 2013 ArtyomK премного благодарен!! Хорошо кода есть люди которые могут помочь, ещё раз спасибо Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти