Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 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 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840