Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 16.10.2021
Сообщений: 31

Исправить ошибки в коде. Задание с массивами

02.11.2021, 19:34. Показов 522. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сформировать третий массив из элементов обоих массивов, больших второго элемента первого массива, и положительных элементов второго массива.


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
Program work1;
var 
  a : array [1..5] of integer;
  b : array [1..5] of integer;
  c : array [1..5] of integer;
  N : integer;
  i : integer;
  k : integer;
begin
  writeln('Введите кол-во элементов 1-го массива');
  readln(N);
  
  for i := 1 to N do begin
    write('a[',i,']');
    read(a[i]);
  end;
  
  writeln('Введите кол-во элементов 2-го массива');
  readln(N);
  
  for i := 1 to N do begin
    write('b[',i,']');
    read(b[i]);
  end;
  
  N := 0;
  k := 1;
  
  for i := 1 to N do begin
    if(a[i] > a[2]) then begin c[k] := a[i]; k += 1; end;
  end;
  
  for i := 1 to N do begin
    if((b[i] > a[2]) or (b[i] > 0)) then begin c[N] := b[i]; N += 1; end;
  end;
  
  write('Третий массив:');
  for i := 1 to k do 
  write('k[',i,']');
  
end.

В третьем массиве постоянно выводится: 1


Надеюсь у вас получиться помочь. Я буду очень благодарен) Заранее спасибо)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.11.2021, 19:34
Ответы с готовыми решениями:

Задание матрицы: исправить ошибки в коде
Хочется задать матрицу n на m. Пишу в visual studio. #include<cstdlib> #include<cmath> #include<iostream> ...

Найти ошибки в коде и исправить эти ошибки (Наследование)
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Работа с массивами - исправить ошибки
Проблема вот в чём: При компиляции ошибок не возникает, программа нормально начинает работать. Но когда заполняешь массивы, и жмёшь кнопку...

2
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
07.11.2021, 12:25
Цитата Сообщение от Kefiro4naya Посмотреть сообщение
Надеюсь у вас получиться помочь
Давайте попробуем.

1. В третий массив должны поместиться
а) элементы первого массива, большие его 2 элемента
=> т.е. max все, кроме 2-го (он один не может быть больше самого себя)
б) положительные элементы второго массива
=> т.е. max все элементы второго массива

Поскольку исходное решение выбрано со статическими массивами, так и реализуем:
Pascal
1
2
3
4
5
const
  nMax = 5;
var
  a, b: array [1..nMax] of Integer;
  c: array [1..nMax*2] of Integer;
2. Если вводятся количества элементов в 1 и 2 массивах, то
а) либо их нужно сохранить в отдельных переменных до обработки этих массивов при формировании 3-го массива
Pascal
1
2
3
4
5
6
7
8
9
10
  repeat Write('Количество элементов массива A: '); Read(na);
  until na in [2..nMax];
  Write('Элементы A: '); for i:=1 to na do Read(a[i]);
  repeat Write('Количество элементов массива b: '); Read(nb);
  until nb in [2..nMax];
  Write('Элементы B: '); for i:=1 to nb do Read(b[i]);
 
  nc:=0;
  for i:=1 to na do if a[i] ...
  for i:=1 to nb do if b[i] ...
б) либо обрабатывать массив сразу после его ввода (можно и без массива b):
Pascal
1
2
3
4
5
6
7
8
9
10
11
  nc:=0;
 
  repeat Write('Количество элементов массива A: '); Read(n);
  until n in [2..nMax];
  Write('Элементы A: '); for i:=1 to n do Read(a[i]);
  for i:=1 to na do if a[i] ...
 
  repeat Write('Количество элементов массива b: '); Read(n);
  until n in [2..nMax];
  Write('Элементы B: '); for i:=1 to n do Read(a[i]);
  for i:=1 to nb do if a[i] ...
Иначе теряете количество элементов в A при вводе B, а затем и вовсе в строке 26: N:=0.
После этого циклы 29-31 и 33-35 не выполняются ни разу (поскольку при N=0 получается for i:=1 to 0 do).

3. Теперь неплохо определиться с тем, что же нужно складывать в 3-й массив.
Если
а) элементы первого массива, что больше его 2-го элемента, и
б) элементы второго массива, что больше 0, то
Pascal
1
2
3
4
5
6
7
  nc:=0;
  for i:=1 to na do if a[i]>a[2] then begin
    Inc(nc); c[nc]:=a[i];
  end;
  for i:=1 to nb do if b[i]>0 then begin
    Inc(nc); c[nc]:=b[i];
  end;
Если элементы 1 и 2 массивов, которые одновременно и больше 2-го элемента 1 массива, и больше 0, то
Pascal
1
2
3
4
5
6
7
  nc:=0;
  for i:=1 to na do if (a[i]>0) and (a[i]>a[2]) then begin
    Inc(nc); c[nc]:=a[i];
  end;
  for i:=1 to nb do if (b[i]>0) and (b[i]>a[2]) then begin
    Inc(nc); c[nc]:=b[i];
  end;

Получилось?
0
0 / 0 / 0
Регистрация: 16.10.2021
Сообщений: 31
08.11.2021, 19:56  [ТС]
Цитата Сообщение от bormant Посмотреть сообщение
Получилось?
Ого! Спасибо за такой развёрнутый ответ. Да, код работает. Ещё раз спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.11.2021, 19:56
Помогаю со студенческими работами здесь

Найти ошибки в коде и исправить эти ошибки
Есть у меня вот такой код: #include <iostream> using namespace std; class A{ private: int* a; size_t size_; ...

Найти ошибки в коде и исправить эти ошибки - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...

Ошибки при компиляции - исправить ошибки в коде
Помогите исправить ошибки , не понимаю в чем может быть причина ... #include <conio.h> #include <stdio.h> #include...

Исправить ошибки в программе, работающей с текстовыми файлами и массивами
Подскажите пожалуйста, где ошибка? #include <iostream.h> #include <string.h> #include <fstream.h> #include <vector.h> ...

Ошибки в коде - школьное задание
Ребят, просьба не пинать. Только знакомлюсь с Java. Получил задание в школе, надо исправить ошибки в коде. Вижу, что не объявлен main...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru