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

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

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

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

Массивы

Статус
В этой теме нельзя размещать новые ответы.

Gizmo364

Ученик
Регистрация
16 Мар 2011
Сообщения
9
Реакции
0
Баллы
0
Массивы

Помогите решить задачу по Массивам.

Написать программу размещения элементов заданного вектора в обратном порядке (без использования дополнительного массива).

P.S. задача по паскалю.
 
Помогите решить задачу по Массивам.

Написать программу размещения элементов заданного вектора в обратном порядке (без использования дополнительного массива).

P.S. задача по паскалю.
Легко:
Код:
Const
 N=16;
VAR
 A:Array[0..N] of Byte;
 i,d:Byte;

BEGIN
 Randomize;
 For i:=0 to N do
  begin
   A[i]:=Random(100);
   Write(A[i]:4);
  end;
 Writeln;
 Writeln;
 For i:=0 to (N div 2) do
  begin
   d:=A[i];
   A[i]:=A[N-i];
   A[N-i]:=d;
  end;
 For i:=0 to N do
  Write(A[i]:4);
 Writeln;
 ReadLn;
END.
 
не могли бы ли вы мне пояснить, как работает данная программа...?
 
не могли бы ли вы мне пояснить, как работает данная программа...?
Да просто попарно меняет местами члены массива: первый - с последним, второй - с предпоследним и т.д. до середины.
 
большое спасибо)
 
а не подскажете еще, как сделать "ввод размерности вектора?"
 
никак. только через ассемблер в паскале нету динамических массивов
 
показал преподу данную программу и он меня спросил - "Почему нет ввода размерности вектора?"
 
вот что нашел
Попробуйте создавать их динамически, в куче - Heap (GetMem, FreeMem). Работать с ними нужно через указатели.
или
ype TIntMassiv = array of Integer;
var intMassiv: TIntMassiv; здесь создан новый тип TIntMassiv, это динамический массив, его размер не известен, и переменная данного типа intMassiv. Размер динамического массива неизвестен, но для работы с таким массивом размер надо установить. Устанавливают размер динамического массива в Паскаль с помощью функции SetLength
SetLength(intMassiv, 2);
здесь установлен размер два для массива intMassiv. Отсчет индексов динамического массива в Паскале всегда ведут с нуля.
хотя последнее скорее всего не правильное.
еще скачайте книгу
В.В. Фаронов. Turbo Pascal в подлиннике. Наиболее полное руководство
 
никак. только через ассемблер в паскале нету динамических массивов
Здрасьте пожалуйста приехали! Нету, стало быть? И указателей нету? И с каких это пор? И что же тогда в нем есть?
А вот и вариант программы, использующий как раз то, чего в Паскале якобы нет:
Код:
TYPE
 T=Array[0..1] of Byte;
VAR
 A:^T;
 d:^Byte;
 i,N:Byte;

BEGIN
 {$R-}
 Write('N= ');
 ReadLn(N);
 GetMem(A, SizeOf(Byte)*(N+1));
 Randomize;
 For i:=0 to N do
  begin
   A^[i]:=Random(100);
   Write(A^[i]:4);
  end;
 Writeln;
 Writeln;
 New(d);
 For i:=0 to (N div 2) do
  begin
   d^:=A^[i];
   A^[i]:=A^[N-i];
   A^[N-i]:=d^;
  end;
 Dispose(d);
 For i:=0 to N do
  Write(A^[i]:4);
 Writeln;
 FreeMem(A, SizeOf(Byte)*(N+1));
 ReadLn;
END.
 
ой. да я про указатели совсем забыл. каюсь
 
Помогите решить задачи по массивам....
1.Даны векторы в n-мерном пространстве х=(х1, х2, ...,хn), у=(у1, у2, ...,уn), z=(z1, z2, ...,zn). Написать программу, которая определяет, можно ли из этих векторов построить треугольник и, если можно, найти его площадь.
2.Дана матрица А(nxn). Написать программу нахождения матрицы АтА, где Ат - транспонированная матриц

НА ПАСКАЛЕ
 
Помогите решить задачи по массивам....
1.Даны векторы в n-мерном пространстве х=(х1, х2, ...,хn), у=(у1, у2, ...,уn), z=(z1, z2, ...,zn). Написать программу, которая определяет, можно ли из этих векторов построить треугольник и, если можно, найти его площадь.
2.Дана матрица А(nxn). Написать программу нахождения матрицы АтА, где Ат - транспонированная матриц

НА ПАСКАЛЕ
Так. Chelsi92 - я же Вам вчера написал, что нужно создавать новые темы, а лазать в чужие, и создал, и решение Вашей задачи привел http://www.tehnari.ru/f43/t51324/ - так нет же, Вы опять залезли в чужую тему со своим постом! Как модератор, предупреждаю: еще одна такая выходка - и получите вечный бан.
ТЕМА ЗАКРЫТА.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху