Turbo Pascal

Пионерка

MuzZ♥z♥Zz♥
помогите,плиз...

Даний вектор. Інвертувати його (переписати у зворотному порядку).
(Робота з одновимірними масивами.)
 

xZ_

Хьёзь
помогите,плиз...

Даний вектор. Інвертувати його (переписати у зворотному порядку).
(Робота з одновимірними масивами.)
{A[N] - массив, tmp - временная переменная}
...
for i:=1 to N do
begin
write('A[',i,']=');
readln(A);
end;
...
for i:=1 to (N div2) do
begin
tmp=A;
A=A[n-i+1];
A[n-i+1]=tmp;
end;
...
 

Пионерка

MuzZ♥z♥Zz♥
Спасибо)
Еще ОЧЕНЬ нужна помощь по вот этой задачке...
16 Дано матрицю розміром 5 x 10. Вивести номер її першого рядка, що містить тільки додатні елементи. Якщо таких рядків немає, то вивести 0.
 

Пух

كنت بلهاء
Модератор
Спасибо)
Еще ОЧЕНЬ нужна помощь по вот этой задачке...
16 Дано матрицю розміром 5 x 10. Вивести номер її першого рядка, що містить тільки додатні елементи. Якщо таких рядків немає, то вивести 0.
хух, наконецто решил... сам в шоке...
далеко не самое быстрое решение, но хоть работает....

Код:
uses crt;
Const m=10; n=5;
var a:array[1..m, 1..n] of integer;  {массив 5х10}
    b:array[1..m] of integer; {вспомагательній массив, туда будем записівать сумму чисел каждой строки, меньших или равніх нулю}
    x,y,g,i,j:integer;  
flag:boolean; {флаг}
begin

clrscr; randomize;
for i:=1 to m do
for j:=1 to n do
begin                           {ввод массива}
g:=random(30);
a[i,j]:=18-g;
y:=1;
end;

for i:=1 to m do
begin
for j:=1 to n do
begin                  {вівод массива}
case j of
1:x:=2;
2:x:=9;
3:x:=16;
4:x:=23;
5:x:=30;
end;
gotoxy(x,y);
write(a[i,j]);
end;
inc(y,2);
end;

for i:=1 to m do
begin
b[i]:=0;
 for j:=1 to n do            {считаем сумму элементов меньших нуля}
 if a[i,j]<0 then
 b[i]:=b[i]+a[i,j];
 end;

flag:=false;
i:=1;
repeat
if b[i]=0 then      {если сумма элементов, меньших нуля равна нулю, значит все числа положительные ===> запоминаем нужный рядок (g) и прекращаем проверку (флажок "падает"}
begin                              
flag:=true; g:=i;  
end
else inc(i);
until (flag) or (i=m);

gotoxy(1,25);
if g<>0 then  {выводим номер строки}
write(g)
else write('0');
readkey;
end.
 
Останнє редагування:

Пух

كنت بلهاء
Модератор
уже нашел неточность: если в строке есть ноль, то прога считает его как положительное число, хотя с точки зрения математики оно таковім не является)
 
завтро нужно здать помогите плиз
Язык:Паскаль
тема:масивы

22) Сформувати масиви У з додатних елементів масиву Х, та Z з від’ємних елементів. Знайти найбільше значення масива У та найменше массива Z

7) Даний вектор дійсних чисел В(М). Знайти суму елементів вектора з парними індексами, значення яких більші від нуля. Якщо сума більше 100, то елементам вектора змінити знак на протилежний
 

dreamer

Member
Товарищи, огромная просьба не засорять тему и не писать сюда просьбы решить тривиальные задачи. Тем более не дублировать эти просьбы в разных темах. И не отвечать на такие просьбы в этой теме – для этого есть отдельная.
Просьба модераторам наконец проследить за этим и забанить кого-нибудь, поскольку русский язык тут похоже понимают хуже чем паскаль.
 

SunShine

New Member
уже нашел неточность: если в строке есть ноль, то прога считает его как положительное число, хотя с точки зрения математики оно таковім не является)
Чёто намудрили Вы с всякими "сумами отрицательных элементов", количество элементов в строке то известно, ИМХО наглядней и проще было бы решить задачу " в лоб" что-то типа
...
NomerStroki:=0;
for i:=10 downto 1 do
begin
kol:=0;
for j:=1 to 5 do
if a[i,j]>0 then kol:=kol+1;
if kol=5 then NomerStroki:=i;
end;
writeln('Номер строки: ',NomerStroki);
...
 
Зверху