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

Переделка кода

18.12.2019, 19:47. Показов 1627. Ответов 5
Метки нет (Все метки)

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

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
unit Unit1;
interface
const
  maxrow = 20;
  maxcol = 20;
type
  TArr = array[1..maxrow,1..maxcol] of integer;
 
procedure inArray(var arr: TArr; var nn,mm: integer);
procedure OutArray(arr: TArr; nn,mm: integer);
procedure CountElement(arr: TArr; nn,mm,dd: integer; var element1,element2,element3: integer);
 
implementation
 
 
procedure inArray(var arr: TArr; var nn,mm: integer);
{Процедура для ввода значений в двумерный массив}
var
  i,j: integer;
begin
  write('Введите значение количества строк в двумерном массиве (не более ',maxrow,'): ');
  Readln(nn);
  write('Введите значение количества столбцов в двумерном массиве (не более ',maxcol,'): ');
  Readln(mm);
  for i:= 1 to nn do
    for j:= 1 to mm do
    begin
      write('Введите значение элемента [',i,',',j,']: ');
      Readln(arr[i,j]);
    end;
end;
 
procedure OutArray(arr: TArr; nn,mm: integer);
{Процедура для вывода двумерного массива в консоль}
var
  i,j: integer;
begin
  for i:= 1 to nn do
    begin
      for j:= 1 to mm do
        write(arr[i,j]:5);
      Writeln;
    end;
end;
 
procedure CountElement(arr: TArr; nn,mm,dd: integer; var element1,element2,element3: integer);
{Процедура которая определяет, сколько элементов в двумерном массиве меньше, больше или равно заданному числу}
{element1 - переменная-параметр для подсчета элементов, которые больше dd
 element2 - переменная-параметр для подсчета элементов, которые равны dd
 element3 - переменная-параметр для подсчета элементов, которые меньше dd}
var
  i,j: integer;
begin
  element1:= 0;
  element2:= 0;
  element3:= 0;
  for i:= 1 to nn do
    for j:= 1 to mm do
      if arr[i,j] > dd then
        inc(element1)
      else
        if arr[i,j] < dd then
          inc(element3)
        else
          inc(element2);
end;
 
end.
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
program Project1;
uses unit1;
var
  a: TArr;      { Переменная для хранения массива.}
  n,m: integer; { Переменные для хранения значения строк и столбцов двумерного массива. }
  d: integer; { Переменная для хранения значения заданного числа.}
  elem1, elem2, elem3: integer; {переменные для хранения значений подсчетов элементов}
begin
  InArray(a,n,m);
  writeln('Исходный массив: ');
  OutArray(a,n,m);
  write('Введите значение числа, для которого будет произведен поиск: ');
  Readln(d);
  CountElement(a,n,m,d,elem1,elem2,elem3);
  if elem1 = 0 then
    writeln('В массиве не обнаружено элементов имеющих значение больше чем ',d,'. ')
  else
    writeln('В массиве обнаружено ',elem1,' элементов имеющих значение больше чем ',d,'. ');
  if elem2 = 0 then
    writeln('В массиве не обнаружено элементов имеющих значение равное ',d,'. ')
  else
    writeln('В массиве обнаружено ',elem2,' элементов имеющих значение равное ',d,'. ');
  if elem3 = 0 then
    writeln('В массиве не обнаружено элементов имеющих значение меньше чем ',d,'. ')
  else
    writeln('В массиве обнаружено ',elem3,' элементов имеющих значение меньше чем ',d,'. ');
  Readln;
end.
Вот задача кому надо: Написать модуль, который определяет, сколько элементов в двумерном массиве меньше, больше или равно заданному числу.

Спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.12.2019, 19:47
Ответы с готовыми решениями:

Переделка кода
Нужно немного переделать код и реализовать инвертирование одномерного массива от 1-го элемента до заданного номера через рекурсию. Т.е если...

Не большая переделка кода
Вопрос: Подскажите, зачем здесь ord и какую роль он здесь выполняет? А так же можно ли сделать эту задачу без орда? Задача: Задано...

Переделка в модули
Ребята, помогите пожалуйста сделать эту же программу только с модулями. Само задание(если нужно): описать, используя структуру...

5
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
18.12.2019, 21:14
Массив динамический?
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
19.12.2019, 08:39
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure inArray(var arr: TArr; var nn, mm: integer);
{Процедура для ввода значений в двумерный массив}
var
  i, j: integer;
begin
  write('Введите значение количества строк в двумерном массиве (не более ', maxrow, '): ');
  Readln(nn);
  write('Введите значение количества столбцов в двумерном массиве (не более ', maxcol, '): ');
  Readln(mm);
  for i := 1 to nn do
    for j := 1 to mm do
      arr[i, j] := -nn div 2 + random(nm);
end;
Добавлено через 34 секунды
Цитата Сообщение от Пс Посмотреть сообщение
Массив динамический?
Нет.
Pascal
1
2
type
  TArr = array[1..maxrow,1..maxcol] of integer;
0
1 / 1 / 0
Регистрация: 17.10.2019
Сообщений: 77
19.12.2019, 11:45  [ТС]
Не работает
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
19.12.2019, 16:37
Лучший ответ Сообщение было отмечено Lifelover22 как решение

Решение

Цитата Сообщение от Lifelover22 Посмотреть сообщение
Не работает
ну опечатался человек, хотел написать random(mm) и одну букву перепутал. и что, трудно исправить?!

а хочешь - получай числа случайные -50 до 50:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure inArray(var arr: TArr; var nn, mm: integer);
{Процедура для ввода значений в двумерный массив}
var
  i, j: integer;
begin
  write('Введите значение количества строк в двумерном массиве (не более ', maxrow, '): ');
  Readln(nn);
  write('Введите значение количества столбцов в двумерном массиве (не более ', maxcol, '): ');
  Readln(mm);
  for i := 1 to nn do
    for j := 1 to mm do
      arr[i, j] := -50 + random(101);
end;
2
1 / 1 / 0
Регистрация: 17.10.2019
Сообщений: 77
19.12.2019, 20:40  [ТС]
/delete
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.12.2019, 20:40
Помогаю со студенческими работами здесь

Переделка с возрастание на убывание
Дана небольшая программа. Ввожу элементы одномерного массива. Выводятся они в порядке возрастания. Нужно этим же способом в порядке...

Переделка задачи на Record
Вот задача на record тема задачи организация ремонта мониторов. Помогите переделать задачу пожалуйста. Условие переделки: Какой мастер...

Сложная Переделка на тему "Файлы. Начало есть.
Доброго вам время суток! В условиях задачи 18 выяснить, имеется ли пассажир, багаж которого состоит из вещи весом меньше m кг. ...

переделка кода из с++ на си
Кто нибудь помогите переделать код для с++ в код для си, сам пытался, мало что получилось условие задачи: Дан символьный файл f,...

Переделка кода
Всем доброго времени суток!!! Вот мой код: #include &lt;string.h&gt; #define LEN 256 #include &lt;stdio.h&gt; #include &lt;ctype.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru