• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помощь в Паскале

Регистрация
13 Май 2011
Сообщения
49
Реакции
0
Баллы
0
Помощь в Паскале

задать двумерный массив B[6,6] случайным образом на промежутке от [-25;25]
затем создать новый одномерный массив из элементов меньших 5

получилось все кроме одного: выводит последний символ не правильно
и еще вопрос можно ли сделать этот массив меньше чем А[1..36]??

uses crt;
Type mas = array [1..6 , 1..6] of integer;
var B:mas{ двумер.массив};
A:array[1..36] of integer;{одномер.массив}
i,j,k:integer;{индексы массивов}
begin
clrscr;
randomize;
for i:=1 to 6 do begin
for j:=1 to 6 do begin
B[i,j]:=random(50)-25;
write(B[i,j]:5);
end;
writeln;
end;
writeln;
for i:=1 to 6 do begin
for j:=1 to 6 do begin
if B[i,j]<5 then A[k]:=B[i,j];
if B[i,j]>=5 then A[k]:=0;
write(A[k]:4);
end;
end;
readln;
end.
 
Так. А значение параметра k - Пушкин задавать будет? И потом - зачем заполнять массив А нулями? Вроде как в условии это не требуется. Отсюда работающий вариант:
Код:
uses crt;
Type
 mas = array [1..6 , 1..6] of integer;
var
 B:mas{ двумер.массив};
 A:array[1..36] of integer;{одномер.массив}
 i,j,k:integer;{индексы массивов}
begin
 clrscr;
 randomize;
 for i:=1 to 6 do
  begin
   for j:=1 to 6 do
    begin
     B[i,j]:=25-random(50);
     write(B[i,j]:5);
    end;
   writeln;
  end;
 writeln;
 k:=0;
 for i:=1 to 6 do
  for j:=1 to 6 do
   if B[i,j]<5 then
    begin
     k:=k+1;
     A[k]:=B[i,j];
     write(A[k]:5);
    end;
 readln;
end.
 
ага, спасибо, массив А заполнил нулями т.к. значение к не задал) без этого он мне выводил 36 чисел, а числа которые не были меньше 5 он заменял числом ( предыдущим) которое было меньше 5, поэтому я их сделал 0, так более понятно было))))))
 
Назад
Сверху