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

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

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

> Задача с одномерным массивом
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской

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


Условие:
вычисление среднего значения в одномерном массиве для всех элементов между первым и вторым нулем в массиве (или от первого нулевого значения до конца массива). Длина и значения элементов массива вводятся с клавиатуры. Печатать элементы массива по: 5 штук, формату :12.

Долго мучаюсь, переделываю по-разному, но правильно никак не считает. Помогите, пожалуйста, найти ошибки:


PROGRAM LAB;
VAR
i, l, j, A, b, c, d :integer;
N, Sr, Sum :real;
Number :array[1..50] of real;
Fout :text;
BEGIN
Sum:=0;
writeln('Skolko budet chisel?');
readln(A);
for i:=1 to A do
begin
writeln('Vvedite ocherednoe chislo');
readln(Number[i]);
end;
assign(Fout,'A:\LAB.TXT');
rewrite(Fout);
writeln(Fout,'Ishodniy massiv iz ',A,' elementov');
for i:=1 to A do
begin
write(Fout,Number[i]:12);
if i mod 5 = 0 then writeln(Fout);
end;
writeln(Fout);
for i:=1 to A do
begin
if Number[i] = 0 then c:=i;
begin
for k:=c to A do
begin
if Number[k]>0 then
Sum:=Sum+Number[k];
if Number[k]=0 then d:=k;
b:=d-c-1;
Sr:=Sum/b
end;
end;
end;
write(Fout,'Srednee znachenie ravno ',Sr,'');
close(Fout);
END.



И еще вопрос, не относящийся к этой задаче: как сделать так, чтобы в массиве с произвольными символами программа находила только символы кириллицы?
Заранее спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской
Реальное имя: Дмитрий

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



Упс, извиняюсь... give_rose.gif
Вот еще как один вариант(все работает, проверил)



program suma;
uses crt;
var f:array[1..10] of integer;
k,s,i,n:integer;
begin
n:=0;
k:=0;
for i:=1 to 10 do read(f[i]);
for i:=1 to 10 do
begin
if f[i]=0 then k:=k+1 else
if (k<2)and(k>0) then begin
s:=s+f[i];
n:=n+1;
end;
end;
if (k<=1) then writeln('Net 0-x elov ili toka odin ');
if n=0 then writeln('pervix 2 0-x elementa ryadom');
writeln('Sum=',s/n:0:2);
readkey;
end.



P.S. я тут недавно, просьба не судить строго rolleyes.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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