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

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

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

 
 Ответить  Открыть новую тему 
> 3 задачки на массивы, Люди помогите горююю
сообщение
Сообщение #1





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

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


1.Задан одномерный массив а (n). Найти количество, все номера и сумму элементов массива больших заданного числа alfa(здесь не пойму как найти и вывести ВСЕ номера элементов)
2.Дан одномерный массив y={yi}, i=1,n. Найти разность номеров ми¬нимального и макси¬мального элемен¬тов.
3.Дан массив а (n).Определить номера элементов = 5, количество положительных элементов для всего массива и сумму возведенных в квадрат отрицательных элементов стоящих на нечетных местах. (использовать repeat с шагом 2)
в двух других вобще завал.каму не сложно помогите пожалуйста
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


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

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

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


1) заводи какую-нибудь динамическую структуру(например, очередь), где ты будешь их хранить и вноси все туда или выводи "по ходу"
2) ищешь минимум(запоминая индекс), аналогично максимум(можно за все за один проход). вычитаешь индексы.
3) про repeat, наверно, имеется ввиду, что перебирать не каждый элемент за одно изменение счётчика, а по два..

Сообщение отредактировано: compiler -


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





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

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


спасибо счас попробую good.gif

Добавлено через 19 мин.
если можно то еще раз с суммой и количеством элементов понятно а как мне описать чтоб все номера запоминались и выводились на экран?сдесь что то Я непойму unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


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

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

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


Цитата(Serg76 @ 11.05.2008 20:42) *
номера запоминались и выводились на экран?сдесь что то Я непойму unsure.gif
если тебе надо просто вывести на экран, то проще было бы выводить по ходу -- нашел элемент- вывел номер. Если же надо запомнить и вывести, то
проходим по массиву, если элемент больше alfa, то
  • увеличиваем количество на один
  • добавляем значение элемента к некой сумме
  • добавляем индекс в очередь
взять модуль для работы с очередями можно тут: Все о динамических структурах данных. , там же можно взять модули для работы с другими динам. структурами.

Сообщение отредактировано: compiler -


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





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

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


спс счас попробую))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





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

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


проверти пожалуйста Я правильно понял
 var const n:=100;
a:arrey[1..n] of real;
Alf,Sum:real;
i,Kol:integer:
begin
writeln('введите alf');
writeln('введите элементы массива');
for i:=1 to n do readln(a[i]);
s:=0:kol:=0:
for i:=1 to n do begin
if a[i]>alf then begin s:=s+a[i];
kol:=kol+1;
writln('i='i);
end;
end;
writeln('s='s);
writeln('kol='kol);
end.


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


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

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

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


Я) это должен читать? ты сначала попробуй это откомпилировать...


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


Профи
****

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

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


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





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

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


У меня возник еще один вопрос как можно в ОДНОМ цикле посчитать отрицательные элементы ДВУХ массивов а[n]
и b[n]. направти мысль а то что то ни как не соображу.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Профи
****

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

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


Если каждого по отдельности, то нужно по переменной для каждого массива.. и проверка будет тоже для каждого своя..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11





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

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


нет просто дано два массива нужно посчитать в них количество (-)элементов,но сделать это в одном цикле( просто общее колличество
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Профи
****

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

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


тогда у тебя просто две проверки будет в цикле:

for i:=1 to n do
begin
if a[i]<0 then inc(k);
if b[i]<0 then inc(k);
end;


но это если количество элементов в обоих массивах одинаковое..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Студент
*

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

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


Цитата(Айра @ 12.05.2008 14:23) *

но это если количество элементов в обоих массивах одинаковое..


Если неодинаковое, то тогда проверка if n>m, и считаем до того числа, которое больше

Код
Program t1;
uses
crt;
var
  a,b:array[1..1000] of real;
  i,Kol,n,m:integer;

begin
clrscr;

writeln('input number of elements of each array');
writeln('n=');
readln(n);
writeln('m=');
readln(m);

writeln('input elements');

for i:=1 to n do
begin
writeln('a[',i,']=');
readln(a[i]);
end;

for i:=1 to m do
begin
writeln('b[',i,']=');
readln(b[i]);
end;

kol:=0;

if n>m then

begin
for i:=1 to n do
begin
if a[i]<0 then inc(kol);
if b[i]<0 then inc(kol);
end;
end

else

begin
for i:=1 to m do
begin
if a[i]<0 then inc(kol);
if b[i]<0 then inc(kol);
end;
end;

writeln('kol=',kol);
end.



Кстати, подправил предыдущую:
Код
Program t1;
uses
crt;
var
  a:array[1..1000] of real;
  Alf,s:real;
  i,Kol,n:integer;

begin
clrscr;
n:=10;
writeln('input alf');
readln(Alf);
writeln('input elements');

for i:=1 to n do
readln(a[i]);
s:=0;
kol:=0;
for i:=1 to n do begin
if a[i]>alf
then
begin
s:=s+a[i];
kol:=kol+1;
writeln('i=',i);
end;
end;
writeln('s=',s);
writeln('kol=',kol);
end.



--------------------
...Чего-то хотелось: не то конституции, не то севрюжины с хреном, не то кого-нибудь ободрать.
(М. Е. Салтыков-Щедрин)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14





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

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


спасибо большое
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Профи
****

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

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


Цитата
Если неодинаковое, то тогда проверка if n>m, и считаем до того числа, которое больше

А я бы так сделала:
i:=1;
while (i<=n) or (i<=m) do
begin
if a[i]<0 then inc(kol);
if b[i]<0 then inc(kol);
inc(i);
end;


И нет лишнего кода..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Студент
*

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

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


Согласен =)


--------------------
...Чего-то хотелось: не то конституции, не то севрюжины с хреном, не то кого-нибудь ободрать.
(М. Е. Салтыков-Щедрин)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17





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

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


Цитата(Serg76 @ 11.05.2008 21:14) *

3.Дан массив а (n).Определить номера элементов = 5, количество положительных элементов для всего массива и сумму возведенных в квадрат отрицательных элементов стоящих на нечетных местах. (использовать repeat с шагом 2)

не могу разобратся с этой задачкой особенно в той ее части (элементы стоящие на несетных местах используя repeat(((((((((((((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Профи
****

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

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


Так:
i:=1
repeat
....
inc(i,2)
....
until i>n

А вообще выкладывай то, что получилось\неполучилось.. Будем разбирать))

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





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

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


Всем спасибо за помощь этот этап пройден lol.gif lol.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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