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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2008, 16:21   #1
научите
 
Регистрация: 28.12.2008
Сообщений: 3
По умолчанию поменять местами

в массиве найти наибольшый и поменять с первым эелементом

эта элементарность мне не дает пройти дальше.
спасибо
научите вне форума Ответить с цитированием
Старый 28.12.2008, 16:35   #2
dark064
 
Регистрация: 28.12.2008
Сообщений: 6
По умолчанию

var a:array[1..100] of real;
i,n,nmax,nmin:integer;
max,min:real;
begin
writeln('введите число элементов массива');
readln(n);
writeln('ввод элементов массива');
for i:=1 to n do begin write ('a[',i,']=');
readln(a[i]);
end;
max:=a[1];nmax:=1;
min:=a[1];nmin:=1;
for i:=2 to n do begin
if a[i]<min then begin min:=a[i];
nmin:=i;end;
if a[i]>max then begin max:=a[i];
nmax:=i;end;
end;
a[nmin]:=max;
a[nmax]:=min;
for i:=1 to n do write ('a[',i,']=',a[i]:5:3);
end.


вот держи
dark064 вне форума Ответить с цитированием
Старый 29.12.2008, 16:15   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Только не минимальный меняй с максимальным, а максимальный с первым.
Код:
var a:array[1..100] of real;
i,n,nmax:integer;
max,x:real;
begin
writeln('введите число элементов массива');
readln(n);
writeln('ввод элементов массива');
for i:=1 to n do 
    begin 
      write ('a[',i,']=');
      readln(a[i]);
    end;
max:=a[1];nmax:=1;
for i:=2 to n do 
if a[i]>max then 
   begin 
     max:=a[i];
     nmax:=i;
  end;
x:=a[1];
a[1]:=a[nmax];
a[nmax]:=x;
for i:=1 to n do write ('a[',i,']=',a[i]:5:3);
end.
puporev вне форума Ответить с цитированием
Старый 29.12.2008, 21:20   #4
Chief
Пользователь
 
Регистрация: 29.12.2008
Сообщений: 29
По умолчанию

Даны целочисленная матрица размером n*3,целые числа k,l(1<=k<=n,1<=l<=n,k не равно 1). Преобразовать матрицу так,чтобы строка с исходным номером k непосредственно следовала за строкой с исходным номером l,сохранив порядок следования остальных строк.

Пожалуйста помогите!завтра отчет!
Chief вне форума Ответить с цитированием
Старый 29.12.2008, 21:48   #5
Sm1Le
Форумчанин
 
Аватар для Sm1Le
 
Регистрация: 31.10.2008
Сообщений: 500
По умолчанию

Цитата:
Сообщение от Chief Посмотреть сообщение
Даны целочисленная матрица размером n*3,целые числа k,l(1<=k<=n,1<=l<=n,k не равно 1). Преобразовать матрицу так,чтобы строка с исходным номером k непосредственно следовала за строкой с исходным номером l,сохранив порядок следования остальных строк.

Пожалуйста помогите!завтра отчет!
тему создать нельзя ? - наказывать таких надо ...
Skype : UASm1Le.
Sm1Le вне форума Ответить с цитированием
Старый 29.12.2008, 22:04   #6
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Ладно не ругайся сильно, видишь горит у человека. И так всех затюкали.
Держи, мужик.
Код:
uses crt;
const m=3;
var a:array[1..20,1..m] of integer;
    n,i,j,k,l,x:integer;
begin
clrscr;
randomize;
write('n=');readln(n);
writeln('Ishodnaja matrica:');
for i:=1 to n do
  begin
    for j:=1 to m do
      begin
        a[i,j]:=random(20);
        write(a[i,j]:4);
      end;
    writeln;
  end;
repeat
write('k=');readln(k);
write('l=');readln(l);
until (k>=1)and(k<=n)and(l>=1)and(l<=n)and(k<>l);
if l>k then  //если строка К выше
for j:=1 to m do
   begin
     x:=a[k,j];  //запоминаем строку  К
     for i:=k to l-1 do //сдвигаем все строки от l-1 вверх на 1, строка К исчезает
     a[i,j]:=a[i+1,j];
     a[l,j]:=x; //на освободившееся место вставляем строку К
   end
else if k>l then //если строка К ниже
for  j:=1 to m do
   begin
     x:=a[k,j]; //запоминаем
     for i:=k downto l+2 do //тоже сдвигаем, только вниз
     a[i,j]:=a[i-1,j];
     a[l+1,j]:=x; //на свободное место вставляем строку К
   end;
writeln('Rezultat:');
for i:=1 to n do
   begin
     for j:=1 to m do
     write(a[i,j]:4);
     writeln;
   end;
readln
end.
puporev вне форума Ответить с цитированием
Старый 29.12.2008, 22:11   #7
Chief
Пользователь
 
Регистрация: 29.12.2008
Сообщений: 29
По умолчанию

Цитата:
Сообщение от Sm1Le Посмотреть сообщение
тему создать нельзя ? - наказывать таких надо ...
по-моему как раз по теме"поменять местами"
но если что,не обесудьте,всё-таки новичок
Chief вне форума Ответить с цитированием
Старый 29.12.2008, 22:12   #8
Chief
Пользователь
 
Регистрация: 29.12.2008
Сообщений: 29
По умолчанию

Огромнейшее Спасибо!!!капец выручил!!!это классный форум!
Chief вне форума Ответить с цитированием
Старый 04.01.2009, 18:39   #9
1..2,1..2 :)
Заблокирован
 
Регистрация: 04.01.2009
Сообщений: 11
По умолчанию помогите

помогите...Пожалуста
Новогодняя открытка имеет форму прямоугольника. Кроме того, имеется несколько конвертов прямоугольной формы. Размеры открытки и размеры конвертов даны. Требуется определить, в какие из конвертов можно поместить открытку, а в какие нельзя. Открытка должна целиком войти в конверт. Сгибать и рвать открытку нельзя, зато можно размещать ее в конверте как угодно – не обязательно параллельно краям конверта.

Входные данные. В первой строке содержатся два целых положительных числа, разделенных пробелом, – размеры открытки. В каждой из следующих строк содержатся размеры одного конверта в таком же формате. Строка номер (N+1) содержит размеры N-ого конверта. Все чис ла не превосходят 10000. Количество конвертов не превосходит 1000.

Выходные данные. Выходные данные должны состоять из 0 и 1: если в N-й конверт можно поместить открытку, то на N-ом месте в единственной строке должна стоять 1, если нельзя – то 0. Количество 0 и 1 должно совпадать с количеством конвертов.
1..2,1..2 :) вне форума Ответить с цитированием
Старый 04.01.2009, 19:17   #10
UnD)eaD)Snake
Форумчанин Подтвердите свой е-майл
 
Аватар для UnD)eaD)Snake
 
Регистрация: 07.07.2007
Сообщений: 241
По умолчанию

1..2,1..2 , правила
а так.. циклом проверяй все конверты. чтото типа:
if ((длинаоткрытки<=длинаконверта)and( ширинаоткрытки<=ширинаконверта))or( (ширинаоткрытки<=длина конверта)and(длинаоткрытки<=ширинак онверта)) then writeln(1) else writeln(0) ...
UnD)eaD)Snake вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поменять местами 3-ю и 4-ую строки массива танечка155 Помощь студентам 3 23.11.2010 21:52
ПОменять значения местами qip2005 Паскаль, Turbo Pascal, PascalABC.NET 6 24.12.2008 23:38
Поменять местами абзацы Иллидан Microsoft Office Word 1 16.09.2008 08:14
Как поменять строки местами? ar. Microsoft Office Word 1 05.09.2008 11:36
поменять местами столбцы veter_s_morya SQL, базы данных 4 29.06.2008 13:36