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

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

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

> вектор, корректирровкаа
сообщение
Сообщение #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

заранее благодарен.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 10)
сообщение
Сообщение #2


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

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

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


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

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



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


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -


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


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

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

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


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

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

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


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


Профи
****

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

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


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


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


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

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

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


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


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


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

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

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


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


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


Гость






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


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

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

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


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


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

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

 





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