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

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

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

 
 Ответить  Открыть новую тему 
> вектор, корректирровкаа
Гость
сообщение 25.05.2007 18:00
Сообщение #1


Гость






добрый день
вот задачка ест Дано 100 целых чисел. Распечатать их в обратном порядке по 6 чисел в строке. я то набрал
const n=99;
var
vect : array [0..n] of integer;
i: longint;

begin
randomize;
for i:=0 to n do
vect:=random(30);

while i>=0 do begin
writeln(vect[i] :5, vect[i-1] :5, vect[i-2] :5, vect[i-3] :5, vect[i-4] :5, vect[i-5] :5);
i:=i-6;
end;

writeln(i);
readln;
read;
end.

но есть проблемка.. при [i]n mod 6 <>0

заранее благодарен.
 К началу страницы 
+ Ответить 
compiler
сообщение 25.05.2007 18:22
Сообщение #2


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

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

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


неужели я не зарегистрировался?..
я могу писать с такими ошибками?..

еще n mod 6 <>0 читать (n+1) mod 6 <>0,
а vect :=random(30); , как vect[i] := random(30);...



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


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


Гость






var
v: array[1 .. 20] of integer;
i, j :integer;

begin
for i := 1 to 20 do v[i] := i;

j := 6; { Сколько чисел будет в строке }
for i := 20 downto 1 do begin
dec(j); write(v[i]:4); { при печати каждого числа уменьшаем счетчик чисел,
которые осталось допечатать на этой строке }

if j = 0 then begin { если осталось 0, то есть, напечатаны 6 чисел }
j := 6; writeln; { то переустанавливаем счетчик опять на 6, и переводим строку }
end
end;
end.

Так?

Сообщение отредактировано: volvo - 25.05.2007 19:06
 К началу страницы 
+ Ответить 
Tan
сообщение 25.05.2007 18:30
Сообщение #4


Профи
****

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

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


Цитата
vect:=random(30);
Так как ты работаешь с одномерным массивом то необходимо указывать на элемент вектора, то есть например vect[i] := random(30);
В моём понимании это так :
uses crt;
const n=99;
var
vect : array [0..n] of integer;
i: longint;
amount : integer;
begin
Clrscr;
randomize;
for i:= 0 to n do vect[i]:=i;
i := n;
amount := 0;
while i >= 0 do
begin
if amount mod 6 = 0 then writeln;
write (vect[i]:3);
i := i - 1;
amount := amount + 1;
end;
readkey;
end.


Сообщение отредактировано: Tan - 25.05.2007 18:32


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
compiler
сообщение 25.05.2007 18:34
Сообщение #5


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

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

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


Цитата(Tan @ 25.05.2007 18:30) *
Так как ты работаешь с одномерным массивом то необходимо указывать на элемент вектора, то есть например vect[i] := random(30)
это я где-то посеял при переходе между кодировками или при форматировании, спасибо что обратил внемание, ето будет добавленно во второй пост.

приступлю к разбору предложеных вариантов..

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


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


Профи
****

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

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


Безусловно вариант volvo оптимальней и проще (на мой взгляд). Просто я старался придерживаться изначального кода автора темы.


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
compiler
сообщение 25.05.2007 18:44
Сообщение #7


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

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

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


a можна комментарии... буду очень благодарен...


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


Профи
****

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

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


uses crt;
const n=99;
var
vect : array [0..n] of integer;
i: longint;
amount : integer; {количество элементов}
begin
Clrscr;
randomize;
for i:= 0 to n do vect[i]:=i; {заполняем массив числами от 0 до 99}
i := n;
amount := 0; {изначально количество выведенных равно 0}
while i >= 0 do
begin
if amount mod 6 = 0 then writeln; {если количество выведенных = 6? то переход на след строку}
write (vect[i]:3); {пишем соответствуюший элемент}
i := i - 1; {отнимает 1 от количества элементов}
amount := amount + 1; {количество выведенных на 1 больше}
end;
readkey;
end.


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
compiler
сообщение 25.05.2007 19:00
Сообщение #9


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

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

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


одно решение(Tan-а) теперь ясно...


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


Гость






Комментарии к моей программе тоже добавлены...
 К началу страницы 
+ Ответить 
compiler
сообщение 25.05.2007 19:50
Сообщение #11


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

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

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


всем спасибо... теперь ясно (главное было понять сам механизм)...


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

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

 



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