IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Ошибочка в компилировании, Не компилирует прогу.. Почему-то не считает кортеж c [1..m+5]
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Женский
Реальное имя: Elen

Репутация: -  0  +



Program proceduri1;
uses crt;
Const m=15;
procedure zap(k:integer; var f:array of real);
Var i:integer;
begin
for i:=0 to k-1 do
f[i]:=200*random-100
end;
procedure vivod(k:integer; var f:array of real);
Var i:integer;
begin
for i:=0 to k-1 do
write(f[i],' ')
end;
procedure nax(k:integer; f:array of real; var r:integer);
Var i:integer;
Begin
r:=0;
for i:=0 to k-1 do
if f[i]<0 then r:=r+1
end;
procedure umnog(k:integer; r:real; var f:array of real);
var i:integer;
Begin
for i:=0 to k-1 do
f[i]:=f[i]*r
end;
Var a,b,c:array[1..m+5] of real;
x:real;
k1,k2,k3:integer;
Begin
clrscr;
Randomize;
write('vvedite x '); readln(x);
zap(m,a); writeln('massiv A'); vivod(m,a); writeln;
zap(m,b); writeln('massiv B'); vivod(m,b); writeln;
zap(m+5,c); writeln('massiv C'); vivod(m+5,c); writeln;
nax(m,a,k1); nax(m,b,k2); nax(m+5,c,k3);
writeln('kol-vo otriz v masA= ',k1);
writeln('kol-vo otriz v masB= ',k2);
writeln('kol-vo otriz v masC= ',k3);
if (k1<k2) and (k1<k3) then begin umnog(m,x,a); vivod(m,a) end else
if (k2<k1) and (k2<k3) then begin umnog(m,sqr(x),b); vivod(m,b) end else
if (k3<k1) and (k3<k2) then begin umnog(m+5,x/10,c); vivod(m+5,c) end else
writeln('kol-va ravni');
readln
End.

(не считывает заданный кортеж c[1..m+5], а задает его из первой процедуры, в следствие чего не компилируется.. Посмотрите правильность пожалуйста. Буду очень признательна


--------------------
Я бесценна! Для всего остального есть Master card
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
в следствие чего не компилируется..
Все нормально компилируется. И даже работает...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 9
Пол: Женский
Реальное имя: Elen

Репутация: -  0  +


Странно!( У меня ABC паскаль и не работает...
Мб попробовать на Турбо?
p.s.если есть для win7 дайте ссылочку


--------------------
Я бесценна! Для всего остального есть Master card
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(milk @ 6.01.2011 17:36) *
Странно!( У меня ABC паскаль и не работает...
как обычно..

Цитата
Мб попробовать на Турбо?
p.s.если есть для win7 дайте ссылочку
Не бывает Turbo для W7.
Скачай FreePascal. Кстати, его с полным правом можно назвать преемником Turbo.
http://freepascal.org/download.var
Жми "Win32, Win64 and WinCE "


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 9
Пол: Женский
Реальное имя: Elen

Репутация: -  0  +


Цитата(Lapp @ 6.01.2011 23:58) *

Не бывает Turbo для W7.
Скачай FreePascal. Кстати, его с полным правом можно назвать преемником Turbo.
http://freepascal.org/download.var
Жми "Win32, Win64 and WinCE "

Спасибо :]


--------------------
Я бесценна! Для всего остального есть Master card
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Цитата
Странно!( У меня ABC паскаль и не работает...
Чтобы оно работало в PascalABC.NET - надо сделать так:

procedure zap(k:integer; var f:array of real);
begin
// добавляем сюда выделение памяти под массив
f := new real[k];

// и только теперь - заполняем.
for i:integer := 0 to k-1 do
f[i]:=200*random-100
end;

// Ну, и сами A, B и C надо по другому описывать:
var
A, B, C: array of real;


Тогда все работает, но только в ABC.NET, у него очень своеобразный синтаксис, больше нигде работать не будет:
Прикрепленное изображение

(да, я там еще закомментировал uses crt и вызов очистки экрана)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 9
Пол: Женский
Реальное имя: Elen

Репутация: -  0  +


Цитата(volvo @ 7.01.2011 1:43) *


Тогда все работает, но только в ABC.NET, у него очень своеобразный синтаксис, больше нигде работать не будет:
Прикрепленное изображение

(да, я там еще закомментировал uses crt и вызов очистки экрана)

Сдавать программы надо в TurboPascal, думаю если там работает, то претензий у препода не возникнет, но за старания большое спасибо.. Думаю программа не только мне пригодится"

Сообщение отредактировано: milk -


--------------------
Я бесценна! Для всего остального есть Master card
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.04.2024 17:06
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name