Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Паскаль и массивы

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Паскаль и массивы
Имя
Сообщение << Старые топики   Новые топики >>
Паскаль и массивы - 2008-11-24 17:56:36.536666   
Basher2008

Сообщений: 148
Оценки: 0
Присоединился: 2008-01-27 17:28:11.896666
Дан двумерный массив G[2,3], вычислить сумму отрицательных элементов матрицы. - это то же самое, что и Дан двумерный массив G[2,3], вычислить сумму отрицательных элементов МАССИВА?
Post #: 1
RE: Паскаль и массивы - 2008-11-24 18:12:07.996666   
linuxoid

Сообщений: 87
Оценки: 0
Присоединился: 2007-04-15 11:11:15.030000
Конечно.
Post #: 2
RE: Паскаль и массивы - 2008-11-24 18:23:38.046666   
Fracta1L

Сообщений: 2280
Оценки: 0
Присоединился: 2004-05-07 13:53:50
оффтоп
Basher2008, а в каком учебном заведении вы учитесь?
так, из интереса
Post #: 3
RE: Паскаль и массивы - 2008-11-24 18:54:27.433333   
Basher2008

Сообщений: 148
Оценки: 0
Присоединился: 2008-01-27 17:28:11.896666
Дан массив вещественных чисел A[11] , вычислить сумму положительных элементов массива

program mas1;
const n=11
var y:array[1..n]
sum, i:byte;
begin
for i:=1 ton do read ( y );
sum:=0;
for i: = 1 ton do
if y &gt; 0 then sum:= sum+ y ;
writeln (sum);
end.

Так вот, большая просьба поправьте что сдесь не так, и не надо ли сделать sum : real?
Желательно с минимальным использованием системных ресурсов

Оффтоп
неважно где я учусь. я понимаю, что это :
quote:

Дан двумерный массив G[2,3], вычислить сумму отрицательных элементов матрицы. - это то же самое, что и Дан двумерный массив G[2,3], вычислить сумму отрицательных элементов МАССИВА?
вопрос из раздела 1-го класса, просто мы поспорили с одним человеком насчёт этого.
Post #: 4
RE: Паскаль и массивы - 2008-11-24 19:00:31.326666   
Fracta1L

Сообщений: 2280
Оценки: 0
Присоединился: 2004-05-07 13:53:50
вопросов больше не имею
Post #: 5
RE: Паскаль и массивы - 2008-11-24 19:21:52.290000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: Basher2008

Дан массив вещественных чисел A[11] , вычислить сумму положительных элементов массива


(\list -> length $ filter (>0) list). я балдею с ваших задач на самом деле

quote:

ORIGINAL: Basher2008

Так вот, большая просьба поправьте что сдесь не так


"здесь" ты написал неправильно

quote:

ORIGINAL: Basher2008

и не надо ли сделать sum : real?


понятия не имею. а надо?

quote:

ORIGINAL: Basher2008

Желательно с минимальным использованием системных ресурсов


за время написания этого ответа системных ресурсов не использовал

quote:

ORIGINAL: Basher2008

неважно где я учусь. я понимаю, что это вопрос из раздела 1-го класса, просто мы поспорили с одним человеком насчёт этого.


правильно что не признаёшься - обоих стоило бы отчислить
Post #: 6
RE: Паскаль и массивы - 2008-11-24 19:39:13.780000   
Basher2008

Сообщений: 148
Оценки: 0
Присоединился: 2008-01-27 17:28:11.896666
это вот поточнее:
program mas1;
const n=11;
var y:array[1..n] of integer;
sum, i:byte;

begin

for i:=1 to n do read ( y );
sum:=0;
for i:= 1 to n do
if y &gt; 0 then sum:= sum+y ;
writeln (sum);
end.
Но выделяет слово then на этой строке: if y &gt; 0 then sum:= sum+y ; и пишет ошибку : error 26 type is mismatch. Что можно сделать в этом случае?
quote:

(\list -&gt; length $ filter (&gt;0) list)
Это что то не из этой оперы. Может так и можно решить эту задачу, но мне нужно решить именно таким вот "простым способом".
Post #: 7
RE: Паскаль и массивы - 2008-11-24 19:46:04.500000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: Basher2008

var y:array[1..n] of integer;
sum, i:byte;

if y &gt; 0 then sum:= sum+y ;


type mismatch detected. какой тип ты ожидаешь получить, суммируя значения типа integer? я думаю, ты хочешь получить тот самый integer, ну или по крайней мере чего-нибудь такое же или более вместительное. объяви sum как integer и посмотри что получится

а заодно почитай что-нибудь по теории типов. впрочем нет, не надо, это я сгоряча

P.S. кстати, на что спорили-то?
Post #: 8
RE: Паскаль и массивы - 2008-11-24 19:48:50.140000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: Basher2008

if y &gt; 0 then sum:= sum+y ;


кстати, тебя не смщуает тот факт, что y - массив? что, по-твоему, должна сделать операция (y > 0)? я думаю ты хотел написать y &gt; 0

тоже, кстати, type mismatch
Post #: 9
RE: Паскаль и массивы - 2008-11-24 20:00:35.473333   
Basher2008

Сообщений: 148
Оценки: 0
Присоединился: 2008-01-27 17:28:11.896666
quote:

я думаю ты хотел написать y &gt; 0
Да!!! Вот это и был ответ! Всё заработало, спасибо, ++
Post #: 10
RE: Паскаль и массивы - 2008-11-24 20:04:21.663333   
Herm

Сообщений: 218
Оценки: 0
Присоединился: 2008-08-15 21:08:09.063333
Basher2008, обьясни ну зачем тебе тип:байт?? Для чего?
Вот так…

program mas1; Uses crt; var y:array[1..50] of integer; Sum,I,n:integer; E:real; begin clrscr; E:=0.000001; Readln(n); {tut vvedi 11} for I:=1 to n do Readln(y[i]); {Sum obnulyat' ne nado ibo pascal obnulaet peremeennie} Writeln; for I:= 1 to n do if y[i]&gt;E then sum:=sum+y[i]; writeln (sum); end.
как видишь я сравниваю не с нулем а с переменной эпсилон. Так как значение "0" в Паскале не присутствует. ) заменяется на очень малое число…так что по идее нужно делать так…будет видно что ты это понимаешь.

\\блин, пока писал, уже все разрешилось =\
Post #: 11
RE: Паскаль и массивы - 2008-11-24 20:11:27.026666   
Basher2008

Сообщений: 148
Оценки: 0
Присоединился: 2008-01-27 17:28:11.896666
Теперь ещё один массив, на этот раз двумерный:
Дан двумерный массив G[2,3], вычислить сумму отрицательных элементов матрицы.

Вот то, что я могу сделать:
program matrica;
mas :array[1..2, 1..3] of real;
sum: real;
i, n, m,j: integer;


begin
n:=2;
m:=3;
write(‘ВВЕДИТЕ ЭЛЕМЕНТЫ МАССИВА:’);
for i: = 1 to n do
for j: = 1 to m do readln(mas);
sum: = 0;
for i: = 1 to n do
for j: = 1 to m do if mas &lt; 0 then sum:= mas[i,j]+sum;
end.
А вот что сдесь не так, не знаю
Post #: 12
RE: Паскаль и массивы - 2008-11-24 20:17:32.950000   
Basher2008

Сообщений: 148
Оценки: 0
Присоединился: 2008-01-27 17:28:11.896666
Herm, может так и лучше, не знаю), но за старания тебе ++ :)
Post #: 13
RE: Паскаль и массивы - 2008-11-24 20:21:27.543333   
Herm

Сообщений: 218
Оценки: 0
Присоединился: 2008-08-15 21:08:09.063333
Для начала…у тебя нету Var.
ты опять не правильно обозначал массив. Пробелов столько тоже не нужно…
Вот как должно быть…

program matrica; var mas :array[1..2, 1..3] of real; sum: real; i, n, m,j: integer; begin n:=2; m:=3; for i:=1 to n do for j:=1 to m do readln(mas[i,j]); sum:=0; for i:=1 to n do for j:=1 to m do if mas[i,j]&lt;0 then sum:=mas[i,j]+sum; Writeln(Sum:2:2); end.
если ошибся, не ругай.
Post #: 14
RE: Паскаль и массивы - 2008-11-24 20:35:16.440000   
Basher2008

Сообщений: 148
Оценки: 0
Присоединился: 2008-01-27 17:28:11.896666
Классно:) Всё работает), спасибо большое, ты мне очень помог, ++
Post #: 15
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Паскаль и массивы







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.