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

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

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

> Задача с применением подпрограмм, требуется помощь в решении задач...
z1ng
сообщение 25.04.2009 13:09
Сообщение #1


Студент-трудоболик
*

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

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


Здравствуйте.
Задача такова:
Дано: массивы (А,10), B(15). Поменять местами их первые положительные элементы. Для находения первого положительного элемента и его номера в массиве использовать подпрограмму.
Мне бы программу задачи, без блок-схемы...
Сам пытался решить - но не получается, "застреваю" на нахождении первого положительного числа, найти-то я его нахожу, только не знаю как сделать, чтобы после нахождения этого элемента, в цикле не просматривались последующие...

Сообщение отредактировано: z1ng - 25.04.2009 20:13


--------------------
Это уравнение вы никогда не будете использовать, когда вырастете, но если вы думаете, что его можно не запоминать, то ошибаетесь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
volvo
сообщение 25.04.2009 14:22
Сообщение #2


Гость






Цитата
найти-то я его нахожу, только не знаю как сделать, чтобы после нахождения этого элемента, в цикле не просматривались последующие...
Ну, это смотря в каком цикле... Если использовать While , например, так:
i := 1;
while (i <= n) and (a[ i ] <= 0) do i := i + 1;

, то проблема исчезнет сама собой. После цикла i будет равно или (n + 1) - если положительных элементов в массиве нет, или индексу первого положительного эл-та.
 К началу страницы 
+ Ответить 
z1ng
сообщение 25.04.2009 17:52
Сообщение #3


Студент-трудоболик
*

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

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


Благодарю.
volvo, а с программой не поможешь?

Сообщение отредактировано: z1ng - 25.04.2009 17:52


--------------------
Это уравнение вы никогда не будете использовать, когда вырастете, но если вы думаете, что его можно не запоминать, то ошибаетесь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
z1ng
сообщение 25.04.2009 18:17
Сообщение #4


Студент-трудоболик
*

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

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


еще вот такая задачка:
Рост студентов 3-х групп, состоящих из 15,12,18 человек, размещен в 3 массивах. Требуется определит средний рост студентов каждой группы, а также сколько студентов в 3-х группах имеет рост выше 180 см. Определение среднего роста и количества студентов одной группы с ростом выше 180 см осуществлять в подпрограмме.
Не получается: посчитать кол-во студентов во всех 3-х группах....
..................................
процендура ввода...
................................

function ROST (x:vect; n:int):real;
var k:int; SR:real; i:int;
begin S:=0; k:=0;
for i:=1 to n do begin
S:=S+x[i];
if x[i]>180 then {***} k:=k+1 {***};
end;
SR:=S/n;
ROST:=SR;
end;


Как сделать, чтобы в п/п после ввода каждого массива осуществлялся подсчет студентов, у которых рост выше 180 и чтобы после ввода всех массивов, посчитать эту сумму?
в файле показано блок-схема всего алгоритма...

Сообщение отредактировано: volvo - 13.03.2010 18:49


Эскизы прикрепленных изображений
Прикрепленное изображение

--------------------
Это уравнение вы никогда не будете использовать, когда вырастете, но если вы думаете, что его можно не запоминать, то ошибаетесь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
z1ng
сообщение 26.04.2009 15:01
Сообщение #5


Студент-трудоболик
*

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

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


blink.gif вот досада...


--------------------
Это уравнение вы никогда не будете использовать, когда вырастете, но если вы думаете, что его можно не запоминать, то ошибаетесь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 26.04.2009 22:23
Сообщение #6


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(z1ng @ 26.04.2009 16:01) *
вот досада...

z1ng, читай правила - не будет досады.

1. одна тема - одна задача;
2. программный код заключать в тэги;
3. doc-и не прикреплять.

Неужели так трудно прочесть Правила?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
z1ng
сообщение 27.04.2009 7:49
Сообщение #7


Студент-трудоболик
*

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

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


Извините, я понял....только в doc я выложил блок-схему


--------------------
Это уравнение вы никогда не будете использовать, когда вырастете, но если вы думаете, что его можно не запоминать, то ошибаетесь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 18.07.2025 13:58
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"