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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 16.12.2011, 00:54   #1
Damir_MADI
 
Регистрация: 16.12.2011
Сообщений: 5
Восклицание PASCAL ABC

Cказали сделать задачу в одном цикле ,или упростить ее как то так
HELP!!!!!!!!!!!!!!!
Вот сама программа(Условие:Дан массив С1, С2, …, С24.
В массиве есть два элемента равные 0. Заменить все элементы, стоящие между ними, на единицы.)

Program V4_N6;
uses crt;
var i:integer;
C:array[1..24]of real;
o1,o2:integer;
fl:text;
Begin
clrscr;
assign(fl,'H:\1тк1\file_name\001.tx t');
reset (fl);
for i:=1 to 24 do begin
readln (fl,C[i]);
writeln(C[i]);
if C[i]=0 then o2:=i;
end;
for i:=24 downto 1 do if C[i]=0 then o1:=i;
for i:=o1 to o2 do C[i]:=1;

for i:=1 to 24 do write(C[i]:3:0);
End.

По возможности напишите вот эту задачку:

Даны массивы
ZP1, ZP2, …, ZPN – список запчастей, необходимых станции технического
обслуживания автомобилей (СТОА);
K1, K2, …, KN – количество запчастей, необходимых СТОА;
x1, x2, …, xM – список поставляемых запчастей;
I1, I2, …, IM – количество поставляемых запчастей.
Напечатать список недополученных запчастей с указанием % недополучения (M ≤ N).
Damir_MADI вне форума
Старый 16.12.2011, 01:27   #2
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

вот тебе первая подправленая... твою не смотрел... но эта работает)
вроде как)
Код:
uses
crt;
var
a:array[1..10] of integer;
i,n:integer;
flag:boolean;
begin
flag:= false;
n:=10;
for i:=1 to n do // ввдим значения матрицы
begin
Write('a[',i,']=');
read(a[i]);
end;          // закончили вводить значения матрицы

for i:=1 to n do
begin
if (a[i] = 0) and (flag = false) then
   begin
   flag:= true;
   continue;
   end;
if (flag = true) and (a[i] = 0) then
   begin
   flag := false;
   end;
if flag = true then
   a[i]:=1;
end;


writeln();
for i:=1 to n do
writeln('a[',i,']=',a[i]);
end.
пишу код не только за печеньки
VIK_aka_TOR вне форума
Старый 16.12.2011, 01:30   #3
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

1)
Код:
while c[i]<>0 do
inc(i);inc(i); 
while c[i]<>0 do begin
a[i]:=1;inc(i);end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума
Старый 16.12.2011, 01:48   #4
Damir_MADI
 
Регистрация: 16.12.2011
Сообщений: 5
По умолчанию

mad-cat
Можешь в программу мою, свою часть добавить и полностью ее скинуть,проверить если не трудно работает ли она....
Damir_MADI вне форума
Старый 16.12.2011, 01:50   #5
Damir_MADI
 
Регистрация: 16.12.2011
Сообщений: 5
По умолчанию

вик ака тор
А мы boolean еще не проходили,препод можешь заподозрить не ладное....может как попроще можно ее написать

Как мне препод обьснил в моей задаче нужно просто в один цикл все сделать,а не возвращатся в него 100500раз и все
Damir_MADI вне форума
Старый 16.12.2011, 01:58   #6
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

вместо boolean можно использовать любую целочисленную переменную...
flag: integer; пускай....
Код:
flag:=0;
for i:=1 to n do
begin
if (a[i] = 0) and (flag = 0) then
   begin
   flag:= 1;
   continue;
   end;
if (flag = true) and (a[i] = 0) then
   begin
   flag := 0;
   end;
if flag = 1 then
   a[i]:=1;
end;
пишу код не только за печеньки
VIK_aka_TOR вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Неудобство ABC Pascal и глюк Borland Pascal proser93 Помощь студентам 0 19.11.2011 19:01
Pascal ABC Роман Kisner Помощь студентам 1 17.04.2011 15:22
Pascal ABC ((Прогер)) Паскаль, Turbo Pascal, PascalABC.NET 11 15.02.2011 20:42
Turbo Pascal or Pascal ABC Ikram Паскаль, Turbo Pascal, PascalABC.NET 0 27.04.2010 13:44