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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2010, 15:26   #1
rkimnbgvf
Новичок
Джуниор
 
Регистрация: 24.03.2010
Сообщений: 1
Вопрос Массив. или FREE Pascal или MicrosoftQuick Basic.

Дан одномерный массив числовых значений, насчитывающий N элементов.Подсчитать кол-во чисел, делящихся на 3 нацело и среднее арифметическое четных чисел. Поставить полученные значения на первое и последнее места в массиве(увеличив массив на 2 элемента).
Желательно или FREE Pascal или MicrosoftQuick Basic.
У меня массив не хочет воспринимать дробные значения.Парюсь уже 2 дня и никак полностью мой информатик не хочет зачесть задачу. Помогите плиз.

Последний раз редактировалось rkimnbgvf; 24.03.2010 в 15:34.
rkimnbgvf вне форума Ответить с цитированием
Старый 24.03.2010, 16:05   #2
NSV
Форумчанин
 
Аватар для NSV
 
Регистрация: 27.05.2009
Сообщений: 127
По умолчанию

Если у вас массив целых чисел, то вы не сможете поставить в массив вещественные числа. Для этого есть функции Round и Int (В паскале)
Здесь есть пример
Увеличить массив в паскале нельзя (Кажется. Он вроде сразу задается). Это можно в Delphi, используя динамические массивы.
В QBasic помочь не могу.
NSV вне форума Ответить с цитированием
Старый 24.03.2010, 18:39   #3
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

в паскале есть динамические массивы!!! очень распространено мнение среди "прогеров", что это невозможно в паскале

Свободно это делается, только чуть сложнее и при помощи указателей
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Старый 24.03.2010, 20:34   #4
NSV
Форумчанин
 
Аватар для NSV
 
Регистрация: 27.05.2009
Сообщений: 127
По умолчанию

Цитата:
Сообщение от RUSt88 Посмотреть сообщение
в паскале есть динамические массивы!!! очень распространено мнение среди "прогеров", что это невозможно в паскале

Свободно это делается, только чуть сложнее и при помощи указателей
Прошу прощения, нужно слово "нельзя" заменить на "достаточно сложно".
Хотелось бы примерчик в студию (или ссылки, но не на поиск)
NSV вне форума Ответить с цитированием
Старый 24.03.2010, 20:39   #5
Lauraldo
Пользователь
 
Аватар для Lauraldo
 
Регистрация: 22.03.2010
Сообщений: 53
По умолчанию

Цитата:
Сообщение от RUSt88 Посмотреть сообщение
в паскале есть динамические массивы!!! очень распространено мнение среди "прогеров", что это невозможно в паскале

Свободно это делается, только чуть сложнее и при помощи указателей
Ну уж если недокументированный глюк, позволяющий задавать произвольный индекс для массива через указатель - это полноценная "возможность", тогда да. Тогда в Паскале есть динамические массивы.

Цитата:
Сообщение от NSV Посмотреть сообщение
Прошу прощения, нужно слово "нельзя" заменить на "достаточно сложно".
Хотелось бы примерчик в студию (или ссылки, но не на поиск)
Где-то примерно так оно работает)))

Код:
type
    DynArray = array [1..1] of Byte; {Вот такие ухищрения}
var
   d: ^DynArray;
   i: Byte;
begin
   GetMem (d, 20);
   for i := 1 to 20 do
       d^[i] := random (100); {А прямо написать d^[20] не получится}
end.

Последний раз редактировалось Stilet; 25.03.2010 в 09:36.
Lauraldo вне форума Ответить с цитированием
Старый 24.03.2010, 20:57   #6
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

Код:
unit module1;

interface

type
  TMass = array[0..1] of Integer;  { массив, будет у нас динамическим}
  PMass = ^TMass; {указатель на массив}
  {создание массива по указателю и с заданным размером}
  procedure CreateMassiv(var p: PMass; R: Integer);

implementation

procedure CreateMassiv(var p: PMass; R: Integer);
begin
  GetMem(p, SizeOf(Integer) * R); {выделяем память под динамический массив}
end;
вот вам код в студию...

так же можно создать матрицу - будет указатель на массив указателей, ву-а-ля С++
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]

Последний раз редактировалось Stilet; 25.03.2010 в 09:37.
RUSt88 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Borland C++ или Basic. интересные задачки) anffetka Помощь студентам 2 24.06.2009 11:31
Написать сценарий на Visual Basic (или на JScript) MidLand Помощь студентам 1 19.06.2009 12:33
Вопрос по visaul basic 6 или 2008 chop146 Помощь студентам 11 25.04.2009 14:22
Отправка почты на Visual Basic .Net или в дельфи Alex88888 Помощь студентам 2 06.03.2009 18:29
Метод Монте-Карло литература или примеры программ на С++ или С MIKI Помощь студентам 2 09.12.2008 13:33