Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2011, 21:44   #1
andreis459
 
Регистрация: 18.03.2011
Сообщений: 6
Восклицание Программирование с одномерными массивами

Поменять местами первый и максимальный по модулю отрицательный
элементы массива.

Последний раз редактировалось andreis459; 18.03.2011 в 22:10.
andreis459 вне форума Ответить с цитированием
Старый 18.03.2011, 21:48   #2
AncientHero
Пользователь
 
Регистрация: 11.03.2011
Сообщений: 18
По умолчанию

Код:
{программа для массива от 2ух до n элементов}
const
 n=100;
var
 a:array[1..n]of longint;
 k,i:longint;
begin
read(k);{k - количество элементов в массиве}
for i:=1 to k do read(a[i]);
for i:=2 to k do if a[i]>a[1] then a[1]:=a[i];
write(sqr(a[1]));
end.
Если мое сообщение вам чем-то помогло, нажмите на весы слева.
AncientHero вне форума Ответить с цитированием
Старый 19.03.2011, 20:44   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

что за код такой ? он только присваивает первому элементу массива максимальное значение из массива (естественно, теря своё исходное знаения и не меняя его ни с чем) и выводит зачем-то квадрат из этого максимального элемента.

надо написать другой код:

Код:
const
 n=100;
var
 a:array[1..n]of longint;
 k,i,min :longint;
begin
read(k);{k - количество элементов в массиве}
for i:=1 to k do read(a[i]);
min := 1;
for i:=2 to k
  do if a[i]<a[min]
    then min:= i; // нахождение минимального элемента массива
// обмен первого и мин.
i := a[1];
a[1] := a[min];
a[min] := i ;
//вывод
for i := 1 to k do
write(a[i]:5);
end.
как-то так, но не сделана проверка на существование отрицательных элементов, ибо если их не будет то обменяется лишь первый с минимальным, если нужна такая, пиши договоримся, а впредь решай задачи сам, и выкладывай на форум только если что-то конкретное не получается, и у тебя есть вопросы по ТВОЕМУ коду, а не "решите мне плз"
phomm вне форума Ответить с цитированием
Старый 26.03.2011, 23:14   #4
andreis459
 
Регистрация: 18.03.2011
Сообщений: 6
По умолчанию

помогите дописать

program EXAMPLE_6;
uses crt;
var m : array [1..50] of integer;
n, i : byte;
a, z: integer;
begin
clrscr;
writeln(''Задание 6. Вариант 5');
write('задайте длину массива ( <= 50 ):');
readln (n);
writeln('введите исходный массив');
for i := 1 to n do
begin
write ('m[',i,']=');
readln (m[i]);
end;
writeln ('исходный массив');
for i := 1 to n do write(m[i]:6);


writeln;
writeln ('Программа завершена .Нажмите Enter.');
readln;
end.
andreis459 вне форума Ответить с цитированием
Старый 28.03.2011, 19:56   #5
Karina89
Пользователь
 
Регистрация: 26.03.2011
Сообщений: 67
По умолчанию

min := -1000;
for i:=1 to n do begin
if a[i]<0 then
if abs(a[i])>min
then begin min:= a[i]; k:=i; end;
end;
p:= a[1];
a[1] := a[k];
a[k] := p;
//вывод
for i := 1 to n do
write(a[i]:5);
end.


попробуй так =)
и не забудь объявить в VAR переменные k, p: integer;
Karina89 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с одномерными массивами ЭдикNEO Помощь студентам 4 07.12.2010 21:07
программа на паскале с одномерными массивами Loga Помощь студентам 27 14.01.2010 11:12
Простые операции с одномерными массивами. Delphi-x Общие вопросы C/C++ 2 30.12.2009 23:59
проблема с одномерными массивами Ekaterina1989 Помощь студентам 1 13.12.2009 21:34