Форум: "Потрепаться";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
ВнизЗадачи. Найти похожие ветки
← →
Qwest © (2004-10-22 16:26) [0]Уважаемые мастера помогите пожалуйста решить задачи по Паскалю:
1) Написать программу, которая находит в массиве значение наибольшего из отрицательных.
program nchisla;
var a:array [1..5] of integer; i,otric: integer;
begin
for i:=1 to 5 do begin
writeln("Задайте ",i,"-ое число -");
readln(a[i]);
end;
writeln("Был задан массив:");
for i:=1 to 5 do write(a[i]," ");
writeln;
otric:=0;
write("Отрицательные числа: ");
for i:=1 to 5 do if a[i]<0 then
write(a[i]);
readln;
end.
Как теперь найти наибольшее отрицательное число?
2) Написать программу, используя функцию для вычисления суммы отрицательных элементов в массиве, содержащем целые числа.
3) Написать программу, используя функцию, на вход которой подается массив, и она возвращает true, если в массиве есть число 0 и false в противном случае.
← →
pasha_golub © (2004-10-22 16:28) [1]Сколько денег?
← →
Anatoly Podgoretsky © (2004-10-22 16:33) [2]А в местном учебном заведении не интересовался?
← →
pasha_golub © (2004-10-22 16:35) [3]Anatoly Podgoretsky © (22.10.04 16:33) [2]
А зачем? Форум неужели просто так выдумали?
← →
Anatoly Podgoretsky © (2004-10-22 16:39) [4]pasha_golub © (22.10.04 16:35) [3]
Просто раскатал губу, такие вещи делаются на коммерческой основе, наивный чукотский юноша.
← →
Алхимик © (2004-10-22 16:43) [5]Не юли. Старший брат на чеку.
Сам не напишешь - зачёт мне до весны сдавать будешь!
p.s. Никитка уже спёкся.
← →
Qwest © (2004-10-22 16:43) [6]Ммм...да. Ну извините что побеспокоил.
← →
TUser © (2004-10-22 16:52) [7]
> 3) Написать программу, используя функцию, на вход которой
> подается массив, и она возвращает true, если в массиве есть
> число 0 и false в противном случае.
Вот это мне понравилось - используя функцию. А что этот софт делать-то должен.
Вобщем так - если не требуется писать help и документировать код - 1L пива за задачу. Проси по мылу.
← →
Алхимик © (2004-10-22 16:53) [8]
> 1L пива за задачу. Проси по мылу
А пиво по факсу? :)
← →
wal © (2004-10-22 16:55) [9]А вроде первый, кото извинился, до этого не было.
Прецедент, однако :)
С уважением.
← →
begin...end © (2004-10-22 16:55) [10]1)
var
IndexMax: Byte;
...
IndexMax := 0;
for I := 1 to 5 do
begin
if IndexMax = 0 then
begin
if a[I] < 0 then IndexMax := I;
end
else
if (a[I] < 0) and (a[IndexMax] < a[I]) then
IndexMax := I;
end;
if IndexMax <> 0 then
WriteLn("Наибольшее отрицательное число: ", a[IndexMax]);
2)function Amount(IntArray: array of Integer): Integer;
var
I: Integer;
begin
Summa := 0;
for I := Low(IntArray) to High(IntArray) do
if IntArray[I] < 0 then Inc(Summa, IntArray[I])
end
3)function ScanForZero(IntArray: array of Integer): Boolean;
var
I: Integer;
Find: Boolean;
begin
Find := False;
I := Low(IntArray);
while (I <= High(IntArray)) and not Find then
begin
Find := IntArray[I] = 0;
Inc(I)
end;
FindZero := Find
end
P.S. Люблю Балтику 7.
← →
wal © (2004-10-22 16:58) [11]Login: Qwest
E-mail: qeq@rer.ru
Реальное имя: Asdd
Пол: Мужской
Образование: высшее
Увлечения / хобби
Интересное о себе
---------
Видимо на работе такое задание дали :)
← →
begin...end © (2004-10-22 16:58) [12]К [10]: Summa заменить на Amount; FindZero заменить на ScanForZero
← →
Qwest © (2004-10-22 17:05) [13]begin...end - Спасибо за помощь.
← →
Johnmen © (2004-10-22 17:15) [14]Вообще то begin...end © вовсе не помог, а просто за тебя сделал твою работу. И в данном случае это есть поддержание высокого уровня халявщины, лени и бездумности в обществе и низкого уровня грамотности...
Как всё печально...:(((
← →
oldman © (2004-10-22 17:18) [15]М-дя...
Особливо "2"
Господи, люди, сдавая зачеты не могут написать прогу "a+b"
грустно...
← →
TUser © (2004-10-22 17:50) [16]Да ладно вам - халявщики всегда были, есть и вряд ли когда-то переведутся.
← →
Анонимщик © (2004-10-22 18:00) [17]Какие же вы жадные (но не все).
← →
SergP. (2004-10-22 18:25) [18]
> Qwest © (22.10.04 16:26)
> Уважаемые мастера помогите пожалуйста решить задачи по Паскалю:
>
Задачки простейшие... Но как-то нет желания делать за кого-то его работу (вернее задания связанные с учебой).
Когда человек что-то не знает и спрашивает - это совсем другое дело. Но когда просит что-то сделать за него - мне впадло становится это делать....
← →
Qwest © (2004-10-22 19:19) [19]
> Когда человек что-то не знает и спрашивает - это совсем
> другое дело. Но когда просит что-то сделать за него - мне
> впадло становится это делать....
Я спрашиваю, потому что я только начинаю писать программы в Паскале и многое еще незнаю. Но делать за себя я не прошу!!!
← →
esu (2004-10-22 19:35) [20]Ну если Qwest сможет заставить работать написанные выше примеры решения то уже не все так плохо, а если скажем что не работает то уже совсем плохо.
← →
raidan © (2004-10-22 19:55) [21]Qwest
Небольшое замечание на будущее - проси помощи только тогда, когда ты не можешь решить свою задачу ну просто никак.
Т.е. ты перерыл книги, мануалы, хелпы и - ноль.
Иначе - как программист ты будешь представлять из себя ноль.
Кодер - да. Но кодер - это негр. Хотя если тебе хочется быть негром - пожалуйста.
← →
raidan © (2004-10-22 19:57) [22]Ни коим образом не хочу оскорбить чернокожих граждан...
← →
begin...end © (2004-10-22 19:59) [23]
> [20] esu (22.10.04 19:35)
> заставить работать написанные выше примеры решения
Так они вроде этта... рабочие...
← →
Qwest © (2004-10-22 20:30) [24]
> Так они вроде этта... рабочие...
Не могли бы вы написать использование этих функции (2,3) в программе?
← →
begin...end © (2004-10-22 20:41) [25]
> [24] Qwest © (22.10.04 20:30)var
DataArray: array [1..10] of Integer;
begin
WriteLn("Сумма отрицательных элементов: ", Amount(DataArray));
Write("В массиве нулевые элементы ")
if ScanForZero(DataArray) then
WriteLn("присутствуют")
else
WriteLn("отсутствуют");
end.
← →
esu (2004-10-22 20:52) [26]
> Так они вроде этта... рабочие...
Да я не спорю, просто предвидел [24] :)
Ну ничего, еще есть 2ой... Там совсем сложно, придется еще переменную завести :)
← →
Qwest © (2004-10-22 21:14) [27]Вот так будет выглядеть алгоритм программы?
program massiv;
var I: Integer;
function Amount(DataArray: array of Integer): Integer;
var
I,summa: Integer;
begin
Summa := 0;
for I := Low(DataArray) to High(DataArray) do
if DataArray[I] < 0 then Inc(Summa, DataArray[I])
end;
var DataArray: array [1..5] of Integer;
begin
for i:=1 to 5 do begin
writeln("Введите ",i," элемент массива: ");
readln(dataArray[i]);
end;
WriteLn("Сумма отрицательных элементов: ",AmountDataArray));
readln;
end.
← →
begin...end © (2004-10-22 21:21) [28]
> [27] Qwest © (22.10.04 21:14)
> Вот так будет выглядеть алгоритм программы?
Алгоритм программы обычно изображается не в виде кода, а в виде схем или словесного описания.
Что же касается кода - нет, не так. Обрати внимание на пост [12].
← →
Qwest © (2004-10-22 21:34) [29]
program massiv;
var I: Integer;
function Amount(DataArray: array of Integer): Integer;
var
I: Integer;
begin
Amount := 0;
for I := Low(DataArray) to High(DataArray) do
if DataArray[I] < 0 then Inc(Amount, DataArray[I])
end;
var DataArray: array [1..5] of Integer;
begin
for i:=1 to 5 do begin
writeln("Введите ",i," элемент массива: ");
readln(dataArray[i]);
end;
WriteLn("Сумма отрицательных элементов: ", Amount(DataArray));
readln;
end.
????
← →
begin...end © (2004-10-22 21:42) [30]
> [29] Qwest © (22.10.04 21:34)
Да. А что, не работает?
P.S. Некрасиво переменные в разных местах объявлять (я про переменные I и DataArray основной программы).
← →
Qwest © (2004-10-22 21:43) [31]Нет не работает...
> P.S. Некрасиво переменные в разных местах объявлять (я про
> переменные I и DataArray основной программы).
Т.е?
← →
Anatoly Podgoretsky © (2004-10-22 21:45) [32]esu (22.10.04 19:35) [20]
Ты как в воду смотрел.
← →
begin...end © (2004-10-22 21:47) [33]
> [31] Qwest © (22.10.04 21:43)
> Нет не работает...
Текст ошибки, версия Паскаля - ?
> Т.е?
var
DataArray: array [1..5] of Integer;
I: Integer;
← →
begin...end © (2004-10-22 21:50) [34]
> [32] Anatoly Podgoretsky © (22.10.04 21:45)
Анатолий, вопрос не по теме: сегодня заходил на Ваш сайт, там есть новая фотография, справа... это... - Вы? ;-)
← →
wnew © (2004-10-22 21:53) [35]begin...end © (22.10.04 21:47) [33]
type TDataArray = array[1..5] of integer;
var
DataArray: TDataArray;
i: integer;
begin
и т.д.
← →
esu (2004-10-22 21:54) [36]Не стоит использовать имя функции для присвоения возвращаемого значения. Нужно использовать result, с ним можно работать как с обычной переменной.
Думаю после этой поправки все разаботает.
← →
begin...end © (2004-10-22 21:56) [37]
> [35] wnew © (22.10.04 21:53)
Ну в 7-й версии BP открытые массивы уже были...
> [36] esu (22.10.04 21:54)
> Нужно использовать result
> Думаю после этой поправки все разаботает.
После этой поправки не заработает, это же не Delphi.
← →
wnew © (2004-10-22 21:57) [38]esu (22.10.04 21:54) [36]
В данном случае без разницы.
Ошибка в передаче параметра функции: можно передавать только открытый массив, то есть - создать свой тип и объявит переменную этого типа, а потом передавать её в качестве параметра.
← →
Qwest © (2004-10-22 21:58) [39]Пишет, что ошибка здесь:
then Inc(Summa, DataArray[I])
Текст ошибки: Invalid variable reference.
← →
esu (2004-10-22 22:00) [40]wnew © (22.10.04 21:57) [38]
Да, тут тоже не Delphi :) Когда я паскаль использовал открытых небыло, может быть в 7ом и появились ?
> begin...end © (22.10.04 21:56) [37]
Ну уж result то там помоему точно должен быть.
Если таки не заработает то нужно переменную заводить
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.037 c