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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2011, 21:59   #1
netiv
Пользователь
 
Регистрация: 12.10.2011
Сообщений: 33
По умолчанию Инвертирование массива

Код:
uses crt;
var i,x,n:integer;
min,b:real;
var a: array [1..1000] of real;
begin
writeln ('Введите колличество элементов массива');
readln(n);
for i:=1 to n do begin
write('Введите[',i,']');
readln(a[i]);
end;
min:=a[1];
x:=1;
for i:=1 to n do 
if (a[i]<=min) then begin 
min:=a[i];
x:=i;
end;
writeln('Номер самого последнего минимального элемента массива ',x,'; значение ',min);
readln;
end.
Дальше, надо Инвертировать первую половину массива.
Помогите пожалуйста
netiv вне форума Ответить с цитированием
Старый 02.11.2011, 06:42   #2
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Помочь - не проблема. Проблема - понять, что тебе нужно.
Что такое "Инвертировать"?
Среди общепринятых такого термина нет. Есть инверсия в геометрии, которая означает обратную пропорцию.. Тебе надо, что ли, 1/x?
Или просто надо переставить в обратном порядке? Не ленись, чем точнее и подробнее напишешь, тем скорее получишь ответ. Твоя сестра таланта тебе же и вредит..
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 02.11.2011, 22:47   #3
netiv
Пользователь
 
Регистрация: 12.10.2011
Сообщений: 33
По умолчанию

Цитата:
Сообщение от TinMan Посмотреть сообщение
Помочь - не проблема. Проблема - понять, что тебе нужно.
Что такое "Инвертировать"?
Среди общепринятых такого термина нет. Есть инверсия в геометрии, которая означает обратную пропорцию.. Тебе надо, что ли, 1/x?
Или просто надо переставить в обратном порядке? Не ленись, чем точнее и подробнее напишешь, тем скорее получишь ответ. Твоя сестра таланта тебе же и вредит..
Под инвертированием в данном случае имеется ввиду перестановка первого и последнего элементов данной части массива, второго и предпоследнего и т.д.
Только мне надо инвертировать вторую половину массива (там опечатка)
netiv вне форума Ответить с цитированием
Старый 02.11.2011, 23:03   #4
ACAB59
Новичок
Джуниор
 
Регистрация: 02.11.2011
Сообщений: 4
По умолчанию

это действие называется транспонировать, а не "инвертировать"!

во первых у тебя ошибка в var'e не может быть массив и переменные разного типа!!

и почему у тебя два var'a??

Последний раз редактировалось Stilet; 03.11.2011 в 09:11.
ACAB59 вне форума Ответить с цитированием
Старый 02.11.2011, 23:08   #5
netiv
Пользователь
 
Регистрация: 12.10.2011
Сообщений: 33
По умолчанию

Цитата:
Сообщение от ACAB59 Посмотреть сообщение
почему у тебя два var'a??
Это просто опечатка
netiv вне форума Ответить с цитированием
Старый 02.11.2011, 23:09   #6
ACAB59
Новичок
Джуниор
 
Регистрация: 02.11.2011
Сообщений: 4
По умолчанию

как я понял тебе нужно что то типа такого??
Код:
uses crt;
const
N=10;
var
a:array[1..N] of real;
b:array[1..N] of real;
i, d: byte;
begin
clrscr;
write('Ввести d ');
read(d);
 for i:=1 to d do
 begin
 write('Ввести массив ');
 read(a[i]);
 end;
  for i:=1 to d do
  begin
  b[i]:=a[d-i];
  writeln('Массив в ', b[i]);
end;
 end.

вернее вот так а то не то действие написал))

Последний раз редактировалось ACAB59; 02.11.2011 в 23:18.
ACAB59 вне форума Ответить с цитированием
Старый 02.11.2011, 23:28   #7
ACAB59
Новичок
Джуниор
 
Регистрация: 02.11.2011
Сообщений: 4
По умолчанию

и вообще можно полное условие задачи???
ACAB59 вне форума Ответить с цитированием
Старый 02.11.2011, 23:33   #8
netiv
Пользователь
 
Регистрация: 12.10.2011
Сообщений: 33
По умолчанию

Цитата:
Сообщение от ACAB59 Посмотреть сообщение
как я понял тебе нужно что то типа такого??
Нет не совсем, массив должен быть одномерным и один. И мне не надо записать его наоборот, мне надо заменить элементы начиная со середины массива до конца, таким вот образом (Заменить первый с последним, второй с предпоследним, третий с предпредпоследним и т.д).

Условие:
Определить номер и значение самого последнего минимального элемента массива. Инвертировать вторую половину массива.

Последний раз редактировалось Stilet; 03.11.2011 в 09:12.
netiv вне форума Ответить с цитированием
Старый 02.11.2011, 23:35   #9
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от netiv Посмотреть сообщение
(Заменить первый с последним, второй с предпоследним, третий с предпредпоследним и т.д).
Может, все-таки, 501-й с последним, 502-й с предпоследним..?
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 02.11.2011, 23:40   #10
netiv
Пользователь
 
Регистрация: 12.10.2011
Сообщений: 33
По умолчанию

Цитата:
Сообщение от TinMan Посмотреть сообщение
Может, все-таки, 501-й с последним, 502-й с предпоследним..?
Да, да, только размер массива вводить с клавиатуры.
netiv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив, инвертирование Branbal Помощь студентам 6 16.11.2010 09:16
Сумма и произведение элементов массива, удовлетворяющих условию (генерация float массива) felodese Помощь студентам 1 11.11.2010 20:52
инвертирование строки в C++ MyQwErTy Помощь студентам 2 23.12.2009 22:10
инвертирование(asm80836) NiCola999 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 11 21.11.2009 01:24
инвертирование строки julia23 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 12.11.2007 10:36