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

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

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

 
 Ответить  Открыть новую тему 
> Massiv, Minimalnij element
сообщение
Сообщение #1





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

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


Vsem privet! Zada4a takova:
Najti v massive element s minimaljnim pozitivnim zna4eniem i jego indeks. Analizirovatj toljko elementi s neparnim indeksom!

u menja 4to-to ne idjot...

program massiv;
var
i,num : integer;
min : real;
ms : array[1..6] of real;
begin
writeln ('Vvedite znachenie elementov: ');
for i := 1 to 6 do begin
readln(ms[i]);
i := i+1;
end;
min := ms[1];
for i := 2 to 6 do begin
if (ms[i] > 0) then begin
if (ms[i] < min) then begin
min := ms[i];
num := i;
end;
end;
end;
writeln(min:2:2);
writeln(num);
readln;
end.

I jesho vapros, kak sdelatj 4tobi koli4estvo elementov v massive vvodilosj s klaviaturi v samom na4ale programmi ??

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


Гуру
*****

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

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


Цитата
u menja 4to-to ne idjot...


Цитата

for i := 1 to 6 do begin
readln(ms[i]);
i := i+1;
end;

нельзя менять счетчик внутри цикла - первя и основная ошибка. Правильно будет так:
for i := 1 to 6 do 
readln(ms[i]);

2-ое, ты и не намериваешься делать проверку на не четность элемента массива no1.gif Делается это так:
if (i mod 2)=1 then

3-ое, ты запоминаешь еще перед циклом минимальный элемент, почему не делаешь тоже самое с его индексом?
4-ое, хоть это не ошибка, но все-таки: для чего ты пихаешь повсюду begin..еnd? Они обязательны только, если после требуется выполнить как минимум два оператора, в других случаях их можна опустить.

Вот правильный код:

program massiv;
var i,num : integer;
min : real;
ms : array[1..6] of real;
begin
writeln ('Vvedite znachenie elementov: ');
for i := 1 to 6 do
readln(ms[i]);
min := ms[1];
num:=1;
for i := 2 to 6 do
if (i mod 2)=1 then
if (ms[i] > 0) then
if (ms[i] < min) then
begin
min := ms[i];
num := i;
end;
writeln(min:2:2);
writeln(num);
readln;
end.


Можно заменить три if на
if ((i mod 2)=1) and (ms[i] > 0) and (ms[i] < min) then
begin
{---------}
end;


Цитата
I jesho vapros, kak sdelatj 4tobi koli4estvo elementov v massive vvodilosj s klaviaturi v samom na4ale programmi ??

Если динамических массивов ты еще не учил, то так:

program massiv;
var i,num,n : integer;
min : real;
ms : array[1..200] of real;
begin
writeln('Vvedite koli4estvo elementov v massive<200');
readln(n);
writeln ('Vvedite znachenie elementov: ');
for i := 1 to n do
readln(ms[i]);
min := ms[1];
num:=1;
for i := 2 to n do
if (i mod 2)=1 then
if (ms[i] > 0) then
if (ms[i] < min) then
begin
min := ms[i];
num := i;
end;
writeln(min:2:2);
writeln(num);
readln;
end.


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Вводим N = 10
Массив: (-2, 12, 15, 10, 11, -9, -3, -11, 5, 2)
и что будет? Кто сказал, что первый элемент ВСЕГДА положительный? Положительный, извините, еще нужно найти...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





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

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


Spasibo za otveti, no vot u menja jesho odin vapros!

V C/C++ cikl for mozhno zapisatj kak
for (i=0; i<n; i += 2)
Po4emu v pascale neljza kazhdij takt cikla podnimatj i, naprimer, na 2 a ne na 1 ??! ( i := i+2 ). Togda mozhno bilo bi bez etoj stro4ki "if (i mod 2)=1 then"

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


Гость






У меня тоже вопрос: тебе удобно читать на транслите? А ты уверен, что ВСЕМ это удобно?

A esli vot tak poprobovat'

(Теги [TRАNSLIT]A esli vot tak poprobovat'[/TRАNSLIT])

Кстати, в Паскале кроме For есть еще и While:
i := 1;
While i <= n do begin
...
inc(i, 2);
end;
Не забывай, что первый элемент может быть отрицательным, делай проверку... Ты, как я погляжу, пропустил это, и заинтересовался другой "оптимизацией"...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гуру
*****

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

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


Цитата
Кто сказал, что первый элемент ВСЕГДА положительный?


Есть ли константа для real, показывающая максимально возможное значения этого типа? Вроде maxint для integer.


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

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

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


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


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

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

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


Цитата(Sofo4ka @ 31.10.2006 17:47) *

а заполнять массив случайными чисоами?

Sofo4ka, что ты хотела сказать? Пожалуйста, высказывайся подробнее, не заставляй других ломать голову над смыслом твой криптограммы. Прочти свое предложение, делая ударение на разные слова, и ты сама увидишь, что смысл неоднозначен. Обрати внимание на то, как пишут отвечающие (особенно лучшие из них). Ты думаешь, у них просто времени больше? Нет, они просто хотят, чтобы их поняли.
Краткость не всегда сестра таланта.

Если ты хотела спросить "а как заполнять массив случайными чисоами?", то так и спроси. Только не в этой теме...


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


Новичок
*

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

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


я умею заполнять. я имела ввиду эту задачу решить спомощью заполнения случайными числами
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






Вообще-то (если ты не заметила) в программе из первого поста ясно указано, что значения задаются с клавиатуры, и С НИМИ уже нужно что-то сделать... Так что никакого отношения к случайным числам это задание не имеет...
 К началу страницы 
+ Ответить 

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

 





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