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

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

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

> Дан вектор..., задача на массивы
kvadrat
сообщение 17.05.2008 14:40
Сообщение #1


Пионер
**

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

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


Вот условие:
Прикрепленное изображение

Правильно ли я решил задачу?
program wersagfwqe;
uses crt;
var d:array[1..6] of integer;z,i:integer;
begin
clrscr;
writeln('vvedite elementi vektora');
for i:=1 to 6 do
begin
readln(d[i]);
end;
z:=d[3]+d[4]+d[5]+d[6];
writeln('summa=',z);
end.

Ведь вектор состоит из 6 чисел, почему тогда дали отрезок от 3 до 7? мб тут какойто подвох?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
volvo
сообщение 17.05.2008 14:48
Сообщение #2


Гость






Разницу между длиной вектора и интервалом, в котором находятся значения его элементов, понимаешь? Какая разница, сколько элементов в векторе? Значение (а не индекс, как тебе кажется) любого из них может попасть в интервал 3 .. 7, а может не попасть...

Соответственно, задача решена неверно... Начиная с того, integer - это не вещественный...

Сообщение отредактировано: volvo - 17.05.2008 14:49
 К началу страницы 
+ Ответить 
kvadrat
сообщение 17.05.2008 15:05
Сообщение #3


Пионер
**

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

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


Вещественый это какой?
Вот глядите перерешал, правильно?
program derdsfgsd;
uses crt;
var d:array[1..6] of real;z,i:integer;
begin
clrscr;
z:=0;
writeln('vvedite elementi vektora');
for i:=1 to 6 do
begin
readln(d[i]);
if (d[i]>=3) and (d[i]<=7) then z:=z+d[i] 
end;
writeln('summa=',z);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.05.2008 15:28
Сообщение #4


Гость






А ты попробуй откомпилировать... Вот когда исправишь ошибку, тогда будет правильно...
 К началу страницы 
+ Ответить 
kvadrat
сообщение 17.05.2008 16:21
Сообщение #5


Пионер
**

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

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


У меня всё компилировалось:
Прикрепленное изображение

Но я узнал что вещественные это Real, Single, Double, Extended, Comp
поэтому выходит так:
program wersagfwqe;
uses crt;
var d:array[1..6] of real;z:real;i:integer;
begin
clrscr;
z:=0;
writeln('vvedite elementi vektora');
for i:=1 to 6 do
begin
readln(d[i]);
if (d[i]>=3) and (d[i]<=7) then z:=z+d[i]
end;
writeln('summa=',z:2:2);
end. 
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.05.2008 16:27
Сообщение #6


Гость






Цитата
У меня всё компилировалось:
Ты сказки-то в другом месте рассказывай, ладно? Тип Integer с типом Real по присваиванию несовместим, то есть, запихать Real := Integer можно, а вот обратно: Integer := Real - нельзя... Это не вызывает вопросов? А теперь расскажи, переменной какого типа и что ты пытаешься (в смысле, пытался, в посте №3) присвоить здесь:
Цитата
... then z:=z+d[i]
Это не то же самое Integer := Real?

Сообщение отредактировано: volvo - 17.05.2008 16:28
 К началу страницы 
+ Ответить 
kvadrat
сообщение 17.05.2008 17:46
Сообщение #7


Пионер
**

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

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


У меня тогда было
var d:array[1..6] of integer;z,i:integer;

good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 

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