Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2008, 22:26   #1
Кирилл17
Пользователь
 
Регистрация: 03.12.2008
Сообщений: 31
По умолчанию одномерные массива в паскале

подсчитать сколько среди заданных элементов x1,x2... отрицательных(элементы ввести с клавиатуры) и изменить значение каждого положительного элемента путем его деления на значение последующего члена(последный элемент полагать заведомо отрицательным т.е. последний элемент должен быть отрицательным).
Кирилл17 вне форума Ответить с цитированием
Старый 19.12.2008, 22:50   #2
Кирилл17
Пользователь
 
Регистрация: 03.12.2008
Сообщений: 31
По умолчанию

program p1;
uses crt;
const n=5;
var x:array[1..n] of real;
i,a,k:integer;
begin
clrscr;

for i:=1 to n do readln(x[i]);
for i:=1 to n do begin
if x[i]>0 then x[i]:=x[i]/x[i+1];
end;
k:=0;
for i:=1 to n do begin if x[i]<0 then k:=k+1;
end;
writeln('k=',k);
writeln('vivod massiva');
for i:=1 to n do write(x[i]:5:2,' ');
readln;
end.

я написал программу только не знаю как присвоить последнему элементу отрицательное значение так, что бы прога работала

помогите
Кирилл17 вне форума Ответить с цитированием
Старый 19.12.2008, 23:18   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Кирилл17
Насколько я понял из условия, считать отрицательные элементы нужно до изменения положительных.
Цитата:
не знаю как присвоить последнему элементу отрицательное значение так, что бы прога работала
Но ведь нужно:
Цитата:
последный элемент полагать заведомо отрицательным
Так что, если я правильно понял, программа должна выглядеть примерно так:
Код:
program p1;
uses crt;
const n=5;
var x:array[1..n] of real;
i,a,k:integer;
begin
clrscr;

for i:=1 to n do readln(x[i]);
k:=0;
if x[n]>0 then x[n]:=-x[n];
for i:=1 to n do begin if x[i]<0 then k:=k+1;
end;
for i:=1 to n do begin
if x[i]>0 then x[i]:=x[i]/x[i+1];
end;


writeln('k=',k);
writeln('vivod massiva');
for i:=1 to n do write(x[i]:5:2,' ');
readln;
end.
Если не прав - поправьте.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++/ Одномерные массивы BennyBenassy Общие вопросы C/C++ 6 23.02.2009 14:27
Одномерные массивы Кирилл17 Помощь студентам 2 09.12.2008 23:34
переписать из массива в линейный двунаправленный список чётные элементы массива Black_Ak24 Помощь студентам 12 08.01.2008 00:44
Как удалять элементы массива в Паскале? Антонова Анна Помощь студентам 2 08.12.2007 17:01