• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Программирование задач с одномерными массивами

andreis459

Ученик
Регистрация
18 Мар 2011
Сообщения
11
Реакции
0
Баллы
0
Программирование задач с одномерными массивами

Поменять местами первый и максимальный по модулю отрицательный элементы массива.
 
Поскольку ЯП не указан, то PASCAL:
Код:
var
a:array [1..10] of integer;
j,i,max,k:integer;
begin
max:=-100;
for i:=1 to 10 do begin
a[i]:=random(100);
write (a[i]:3);
if abs(a[i])>max then begin max:=a[i]; k:=i;
end;
end;
j:=a[1];
a[1]:=a[k];
a[k]:=j;
writeln;
for i:=1 to 10 do
write (a[i]:3);
readln
end.
 
Миша, опять торОпитесь! В задании требуется найти максимальный по модулю отрицательный элемент, а Вы находите просто максимальный по модулю! Не говоря уже о том, что Ваш массив заполняется сугубо неотрицательными числами, т.е. отрицательных там нет вовсе! Исправьте, пожалуйста.
 
Прошу прощения действительно поторопился.
Вот измененный код:
Код:
var
a:array [1..10] of integer;
j,i,max,k:integer;
begin
max:=-100;
for i:=1 to 10 do begin
a[i]:=random[COLOR=Red][B](31)-30[/B][/COLOR];
write (a[i]:3);
if [B][COLOR=Red](a[i]<0)[/COLOR] [/B]and (abs(a[i])>max) then begin max:=a[i]; k:=i;
end;
end;
j:=a[1];
a[1]:=a[k];
a[k]:=j;
writeln;
for i:=1 to 10 do
write (a[i]:5);
readln
end.
 
помогите дописать

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);
end;
writeln ('исходный массив');
for i := 1 to n do write(m:6);


writeln;
writeln ('Программа завершена .Нажмите Enter.');
readln;
end.
 
помогите дописать

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);
end;
writeln ('исходный массив');
for i := 1 to n do write(m:6);


writeln;
writeln ('Программа завершена .Нажмите Enter.');
readln;
end.
 
Назад
Сверху