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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2017, 07:22   #1
SkaNi
Новичок
Джуниор
 
Регистрация: 02.06.2017
Сообщений: 1
По умолчанию Дан массив A размером 3*3. Составить программу, записывающие положительные элементы этого массива A в одномерный массив B, а отрицательные - в одномерный массив C

Дан массив A размером 3*3, элементы массива вводятся пользователем вручную. Составить программу, записывающие все положительные элементы двумерного массива A в одномерный массив B, а отрицательные в одномерный массив C. Полученный результат вывести на экран.
Есть часть кода, но не знаю правильно ли я начала делать
Код:
program zad1;
var i, j: integer;
var a:array[1..3, 1..3] of integer;
var b:array[1..3] of integer;
var c:array[1..3] of integer;
begin
writeln('Введите маcсив размером 3 на 3');

for i:=1 to 3 do 
for j:=1 to 3 do
Begin
write ('a(',i,',',j,')='); 
readln (a[i, j]); 
end;

writeln();
for i:=1 to 3 do 
for j:=1 to 3 do
begin
if a[i,j]<0 then write (a [i],' ');
end;

writeln();
writeln();
for i:=1 to 3 do 
for j:=1 to 3 do
begin
if a[i,j]>0 then write (a [i],' ');
end;

end.
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 02.06.2017 в 09:46.
SkaNi вне форума Ответить с цитированием
Старый 02.06.2017, 08:07   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

С точки зрения оформления писать var в каждой строке с переменными не комильфо, с точки зрения паскакаля - и не требуется.

Код:
var 
     i, j: integer;
     a:array[1..3, 1..3] of integer;
     b:array[1..3] of integer;
     c:array[1..3] of integer;
В этих местах у Вас двухмерный массив неожиданно превратился в одномерный - подозреваю, что вместо a[i] нужно использовать b и c:

Код:
if a[i,j]<0 then write (a [i],' ');
...
if a[i,j]>0 then write (a [i],' ');
И кстати, если в таком виде поменять на b и c - на экран выведется невесть что (вероятнее всего - нули). Обратите внимание, что в задании чётко сказано:

Цитата:
Составить программу, записывающую
а Вы реализовали только вывод на экран положительных и отрицательных элементов, что совсем не одно и то же. Массивы b и c остаются пустыми.

В целом направление мышления верное, так держать!
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Sciv; 02.06.2017 в 08:09.
Sciv вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан одномерный массив из 30 элементов. Сформировать второй массив, в котором сначала идут все элементы первого массива, кратные 5, Olzhakesh C# (си шарп) 1 29.04.2014 23:49
Java: Дан двумерный массив чисел А размером 6х6 и одномерный массив Х из 6-ти чисел. Заменить первые три строки массива A vikysha55 Помощь студентам 1 16.04.2014 10:50
Дан массив X(N,M).Найти номера столбцов массива,все элементы которых четны. Из полученных значений сформировать одномерный массив. darwin1 Паскаль, Turbo Pascal, PascalABC.NET 3 16.03.2014 13:31
Сформировать одномерный массив, элементами которого являются все положительные элементы исходного массива... sev48fire Помощь студентам 11 07.06.2012 11:06
Дан одномерный массив А(N) .Составить программу. cjcezar Помощь студентам 4 27.11.2011 13:40