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

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

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

 
 Ответить  Открыть новую тему 
> Обработка одномерных массивов
сообщение
Сообщение #1


Новичок
*

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

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


Найти произведение элементов с четными индексами одномерного массива Е размерности k (k меньше или равно 25).


Если возможно, представить схему алгоритма решения.


Есть вот такой пример:

Задание: Найти среднее арифметическое последних k элементов одномерного массива Z размерности n (n меньше или равно 20).

program lab4;
{Лабораторная работа N 4}

var
z :array [1..20] of integer;
k,n,i :integer;
sr :real;
begin
write('Введите размерность массива Z (n<=20) : ');
readln(n);
write('Введите k : ');
readln(k);
writeln('Введите массив Z :');
for i:=1 to n do {Вводим элементы массива Z}
begin
write('Z[',i,'] : ');
readln(z[i]);
end;
sr:=0;
for i:=n-k+1 to n do {Находим сумму последних k элементов}
sr:=sr+z[i];
sr:=sr/k; {Вычисляем среднее арифметическое}
writeln('Среднее арифметич. последних ',k,' элементов = ',sr:5:2);
end.


ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО!

Сообщение отредактировано: Connected -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Человек
*****

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

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


проходиш по массиву со сщетчиком елеметов и не нулевые переписуеш(или указателями...) в другой массив...


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


Я ничего не понял. Вообще не разбираюсь в программировании! Перешел из одного колледжа в другой и теперь надо получить зачет по информатике, а в моём старом колледже информатики у нас вообще не было! unsure.gif

Сообщение отредактировано: Connected -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Помощник капитана
****

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

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


write('Введите размерность массива Z (n<=25) : ');
readln(n);
pr:=1;
for i:=1 to n do readln(E[i]);
for i:=1 to n do begin
if not odd(i) then begin
pr:=pr*E[i];
end;
end;
writeln(pr:6:2);

А так?

Сообщение отредактировано: Артемий2 -


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Иллюзия мира
***

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

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


Цитата(Connected @ 19.03.2007 20:37) *

Найти произведение элементов с четными индексами одномерного массива Е размерности k (k меньше или равно 25).


попробуй так

var
E:Array of Byte;
i,k,multiplication:Integer;
begin
writeln('Ââåäèòå ðàçìåðíîñòü ìàññèâà k<255');
readln(k);
SetLength(E,k);
write('Ââåäèòå ìàññèâ');
for i:=0 to k-1 do
readln(E[i]);
multiplication:=1;
for i:=0 to k-1 do
if i mod 2 = 0 then
multiplication:=multiplication*E[i];
writeln(multiplication);
readln
end.


Сообщение отредактировано: Адель -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Помощник капитана
****

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

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


uses
SysUtils;

В турбо паскаль этого нет! Это не Delphi.

P.S Все решение неправильно.. E: array of Byte <-- когда-то я тоже на этом споткнулся! smile.gif

Сообщение отредактировано: Артемий2 -


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Иллюзия мира
***

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

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


а в чем трабла? dry.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Цитата
а в чем трабла?
Да в том, что в Турбо Паскале этот код компилироваться не будет - нет там динамических массивов, а для Дельфи есть свой форум...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

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

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


В итоге так чтоли получается?

uses
crt;
var
E :array [1..20] of integer;
k,i :integer;
pr :real;
begin
write('Введите размерность массива E (k<=25) : ');
readln(k);
writeln('Введите массив E :');
for i:=1 to k do {Вводим элементы массива E}
begin
write('E[',i,'] : ');
readln(E[i]);
end;
pr:=1;
for i:=1 to k do if not odd(i) then pr:=pr*E[i];
writeln(pr:6:2);
END.


Сообщение отредактировано: Connected -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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