Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 13.10.2019
Сообщений: 15
Записей в блоге: 1

Почему у меня не выводит массив

13.10.2019, 11:43. Показов 1757. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
CONST
  N = 20;  
TYPE
  DataArray = ARRAY[1..N] OF INTEGER; 
PROCEDURE ReadElements(A, B: DataArray);
 
IMPLEMENTATION 
PROCEDURE ReadElements(A, B: DataArray);
VAR
  I, COUNT: INTEGER;
BEGIN
  WRITELN('Элементы массивы: ');
  FOR I := 1 TO N DO
  BEGIN
    A[I] := RANDOM(10,99);
    WRITE(A[I], ' ');
  END;  
  WRITELN();
  COUNT := 0;
  FOR I := 1 TO N DO
    IF (A[I] DIV 10 = 0) THEN 
    BEGIN
      B[COUNT]:= A[I];
      COUNT := COUNT + 1;
    END;
 
  WRITELN('ВЫБРАННЫЕ ЭЛЕМЕНТЫ:');
  FOR I := 1 TO COUNT DO
    WRITELN(B[I], ' ');
END;  
 
BEGIN
END.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.10.2019, 11:43
Ответы с готовыми решениями:

Почему у меня не выводит запись?
program semestr1; label 10; type kol_vo=record abon:integer; stud_zal:integer; ...

Почему у меня программа не выводит к во фразе?
program f1; uses crt; var k: integer; begin clrscr; writeln('введите переменную к'); writeln ('к не >20'); ...

Почему у меня не получается создать этот массив?
class String { public: int index; char arr; private: String(const int index, char arr) { const int index = 5; char...

9
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
13.10.2019, 13:27
IaMrEDDit, наличие implementation говорит о том, что данный код находится в модуле, название которого должно задаваться после unit и совпадать с именем содержащего файла. По данной (и не только) причине код не пройдёт компиляцию.

Я могу дать некоторые рекомендации по улучшению качества кода, но, чтобы они были более точными, требуется знать ту задачу, которая стоит перед Вами.

Средства, используемые для ускорения написания кода:
- Для вывода массивов имеются методы расширения Print/Println (расширения PABCSystem).
- Для создания массивов указанной длины, заполненных случайными числами в указанном диапазоне, есть ArrRandomInteger(low, high) (расширение PABCSystem).
- Для чтения элементов массивов с клавиатуры можно использовать ReadArrInteger(prompt) (расширение PABCSystem). Однако, подсказка будет выведена лишь один раз перед вводом всех элементов массива. Альтернативный подход использован в NETSquirrel - подсказка не только выводится для каждого элемента, но и задаётся форматной строкой, что позволяет гибко её настраивать. Более того, она может задаваться лямбда-выражением, которое возвращает в соответствии с индексом читаемого элемента некоторую форматную строку. Также возможна обработка ошибок ввода посредством лямбда-выражения без использования try-except. Главный минус данного подхода - дополнительная зависимость от библиотеки.
- Использование статических массивов - не самый лучший выбор, поскольку их функционал ограничен по сравнению с динамическими.
- Для увеличения переменной на какое-либо число можно использовать расширенные операторы присваивания: variable += value
0
0 / 0 / 0
Регистрация: 13.10.2019
Сообщений: 15
Записей в блоге: 1
13.10.2019, 14:29  [ТС]
Вот задача:
Заполнить массив случайными числами в интервале [10,99]. Создать процедуру выполняющую поиск положительных элементов, которые оканчиваются на 0, и их копирование в другой массив.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
13.10.2019, 14:50
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
uses System;
 
/// Creates the randomly filled array
function CreateRandomIntegerArray(count, low, high: integer): array of integer;
begin
  if count < 0 then
    raise new ArgumentOutOfRangeException('count', 'Elements count can not be less than 0.');
  
  Result := new integer[count];
  var _random := new Random();
  for var i := 0 to count - 1 do
    Result[i] := _random.Next(low, high);
end;
 
/// Filters the sequence by some predicate
function Filter<T>(self: sequence of T; _predicate: Predicate<T>): sequence of T; extensionmethod;
begin
  if self = nil then
    raise new ArgumentOutOfRangeException('self', 'Sequence can not be nil.');
  if _predicate = nil then
    raise new ArgumentOutOfRangeException('_predicate', 'Predicate can not be nil.');
  
  foreach var item in self do
    if _predicate(item) then
      yield item;
end;
 
begin
  // Указываем диапазон 10..100, поскольку объект класса Random не включает верхнюю границу
  // в диапазон генерируемых случайных чисел.
  var a := CreateRandomIntegerArray(10, 10, 100).Filter(x -> x mod 10 = 0).ToArray();
end.
Средства PABCSystem намеренно не использованы с той целью, чтобы сделать программу более переносимой на другие .NET языки.

Схема работы программы следующая:
- Происходит создание массива, заполненного числами в диапазоне 10..99.
- Метод-расширение массива Filter рассматривает массив типа array of integer как последовательность IEnumerable<integer>, что означает, что он не обращает внимание на длину массива (ему она неизвестна) и другие специфические для массивов свойства. Его действия таковы: проход по всему массиву и применение некоторого предиката (функции, возвращающей логическое значение) к каждому его элементу и возврат лишь тех элементов массива (строго говоря последовательности, в контексте данного метода-расширения), для которых предикат вернул True.
- Преобразование ToArray() используется для того, чтобы преобразовать некую последовательность IEnumerable<integer> в array of integer.
1
12 / 8 / 5
Регистрация: 15.10.2019
Сообщений: 25
15.10.2019, 19:57
Ты забыл вызвать процедуру в основном теле программы.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
CONST
  N = 20;  
TYPE
  DataArray = ARRAY[1..N] OF INTEGER; 
 
PROCEDURE ReadElements(A, B: DataArray);
VAR
  I, COUNT: INTEGER;
BEGIN
  WRITELN('Элементы массивы: ');
  FOR I := 1 TO N DO
  BEGIN
    A[I] := RANDOM(10,99);
    WRITE(A[I], ' ');
  END;  
  WRITELN();
  COUNT := 0;
  FOR I := 1 TO N DO
    IF (A[I] DIV 10 = 0) THEN 
    BEGIN
      B[COUNT]:= A[I];
      COUNT := COUNT + 1;
    END;
 
  WRITELN('ВЫБРАННЫЕ ЭЛЕМЕНТЫ:');
  FOR I := 1 TO COUNT DO
    WRITELN(B[I], ' ');
END;  
 
 var a,b:DataArray;
 
BEGIN
 
ReadElements(a,b);
 
END.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
16.10.2019, 15:26
ProgrammerNew, у меня нет процедур.
0
12 / 8 / 5
Регистрация: 15.10.2019
Сообщений: 25
17.10.2019, 20:43
оор
0
17.10.2019, 21:18

Не по теме:

Цитата Сообщение от ProgrammerNew Посмотреть сообщение
оор
ProgrammerNew, мне нравится информативность данного сообщения.

0
0 / 0 / 0
Регистрация: 02.09.2015
Сообщений: 35
18.10.2019, 08:53
ProgrammerNew, у меня нет процедур.
PROCEDURE ReadElements - А это что, "вчерашний день"? Это у тебя как раз начало описания процедуры.
Тебе правильно указали. Сначала ты описал процедуру
Pascal
1
2
3
4
5
PROCEDURE ReadElements(A, B: DataArray);
...
Begin
...
end;
потом в конце у тебя не вызвана процедура, а просто написано BEGIN и END. (КОНЭЦ). процедуру вызови, у тебя программа заканчивается ничего не выполнив. Ты собрал все вещи в поход и не пошел никуда.
0
18.10.2019, 15:43

Не по теме:

Цитата Сообщение от Михаил Красин Посмотреть сообщение
PROCEDURE ReadElements - А это что, "вчерашний день"?
Михаил Красин, возникло недопонимание - я решил, что сообщение
Цитата Сообщение от ProgrammerNew Посмотреть сообщение
Ты забыл вызвать процедуру в основном теле программы.
было адресовано мне, как последнему писавшему в данной теме.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.10.2019, 15:43
Помогаю со студенческими работами здесь

Почему не выводит на экран массив
вспоминаю С++ и не могу понять почему не выводит на экран массив)и напишите где можно было бы лучше написать и как) ...

Почему не выводит отсортированный массив?
int vvod(int *a, int n, int name) { int q; printf(&quot;\nВведите количество элементов последовательности массива %d: &quot;, name); ...

Массив: Почему выводит все в строку?
Почему выводит все в строку? #include &lt;iostream&gt; #include &lt;stdio.h&gt; using namespace std; #define N 2 #define M 3 int A,...

Не пойду почему не выводит отсортированный массив
namespace ConsoleApplication3 { public class Area { public static int InsertionSort(int a) { ...

Почему не выводит массив в форме при загрузке файлов
&lt;?php if ($_POST){ print_r($_FILES); } ?&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;Загрузка файлов&lt;/title&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru