Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Клариса
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 23
1

Сформировать массив по правилу

13.02.2012, 18:25. Просмотров 997. Ответов 13
Метки нет (Все метки)

Сформируйте и выведите на экран массив из девяти элементов , каждые три последовательных элемента которого составлены по следующему правилу:
1-й равен случайному двузначному числу;
2-й равен целой части от деления случайного двузначного числа на 10;
3-й равен остатку от деления случайного двузначного числа на 10.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2012, 18:25
Ответы с готовыми решениями:

Сформировать массив по правилу
Даны действительные числа от а1 до а20.Получить а1,а11,а3,а13,...,а9,а19.

Сформировать массив по правилу
Помогите пожалуйста!!!

Сформировать массив по правилу
Сформулируйте и выведите на экран МАССИВ ИЗ ДЕВЯТИ ЭЛЕМЕНТОВ ТРИ ПОСЛЕДОВАТЕЛЬНЫХ ЭЛЕМЕНТА КОТОРОГО...

Сформировать массив по правилу
Даны массивы а и b, состоящие из n-элементов каждый. Получить массив с, где ck=ak*bk.

13
КонецСвета
Почетный модератор
7948 / 3919 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
13.02.2012, 19:09 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
uses crt;
var a: array [1..9] of integer;
    i: integer;
begin
for i:=1 to 9 do
    begin
    if i mod 3=1 then a[i]:=random(90)+10;
    if i mod 3=2 then a[i]:=a[i-1] div 10;
    if i mod 3=0 then a[i]:=a[i-2] mod 10;
    write(a[i]:3);
    end;
end.
2
Coohper
38 / 38 / 29
Регистрация: 18.10.2011
Сообщений: 91
13.02.2012, 19:26 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
Uses crt;
Var m:array[1..9] of real;
    i:integer;
Begin
ClrScr;
For i:=1 to 9 do
begin
If i<4 then m[i]:=random(90)+10;
If (i<7)and(i>3) then m[i]:=Int((random(900)+100)/i);
If i>6 then m[i]:=frac((random(90)+10)/10);
write(m[i],' ');If i mod 3=0 then writeln;
end;
end.
Добавлено через 33 минуты
Цитата Сообщение от Coohper Посмотреть сообщение
frac((random(90)+10)/10);
Вот эту строчку замени на :
Pascal
1
(random(90)+10)mod 10;
Ошибся малость
1
thyrex
Вирусоборец
7605 / 5076 / 843
Регистрация: 06.09.2009
Сообщений: 20,175
13.02.2012, 19:54 4
Цитата Сообщение от Coohper Посмотреть сообщение
Int((random(900)+100)/i)
Можно заменить на
Код
(random(900)+100) div i
Coohper, логика не та при проверке условий
Порядок следования элементов должен быть такой: 1 2 3 1 2 3 1 2 3
1
Coohper
38 / 38 / 29
Регистрация: 18.10.2011
Сообщений: 91
13.02.2012, 19:56 5
Согласен
1
thyrex
Вирусоборец
7605 / 5076 / 843
Регистрация: 06.09.2009
Сообщений: 20,175
13.02.2012, 20:00 6
Цитата Сообщение от КонецСвета Посмотреть сообщение
if i mod 3=2 then a[i]:=a[i-1] div 10;
if i mod 3=0 then a[i]:=a[i-2] mod 10;
КонецСвета, а почему используются обращения к уже полученному элементу, а не генерируется новое случайное число???
0
КонецСвета
Почетный модератор
7948 / 3919 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
13.02.2012, 20:04 7
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

thyrex, а как иначе проверить - правильно ли работает программа? =)
после долгих размышлений мне показалось, что лучше использовать уже известный элемент, по крайней мере ясно, что его первая и последняя цифра определены правильно...
впрочем ...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
uses crt;
var a: array [1..9] of integer;
    i: integer;
begin
for i:=1 to 9 do
    begin
    if i mod 3=1 then a[i]:=random(90)+10;
    if i mod 3=2 then a[i]:=(random(90)+10) div 10;
    if i mod 3=0 then a[i]:=(random(90)+10) mod 10;
    write(a[i]:3);
    end;
end.
2
thyrex
Вирусоборец
7605 / 5076 / 843
Регистрация: 06.09.2009
Сообщений: 20,175
13.02.2012, 20:07 8
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

A можно и так
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var a: array [1..9] of integer;
    i, x: integer;
begin
 for i:=1 to 9 do
  begin
   x:= random(90)+10;
   if i mod 3=1 then a[i]:= x;
   if i mod 3=2 then a[i]:= x div 10;
   if i mod 3=0 then a[i]:= x mod 10;
   write(a[i]:3);
  end;
end.
2
Клариса
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 23
13.02.2012, 21:05  [ТС] 9
А если вот такая задача?

Сформируйте и выведите на экран массив из девяти элементов , каждые три последовательных элемента которого составлены по следующему правилу:
1-й равен случайному двузначному числу;
2-й равен целой части от деления случайного трехзначного числа на его индекс;
3-й равен остатку от деления случайного двузначного числа на 10.
0
Coohper
38 / 38 / 29
Регистрация: 18.10.2011
Сообщений: 91
13.02.2012, 21:16 10
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот же она
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
Uses crt;
Var m:array[1..9] of integer;
    i:integer;
Begin
ClrScr;
For i:=1 to 9 do
begin
If i mod 3=1 then m[i]:=random(90)+10;
If i mod 3=0 then m[i]:=(random(90)+10)mod 10;
If i mod 3=2 then m[i]:=(random(900)+100) div i;
write(m[i]:4);If i mod 3=0 then writeln;
end;
end.
1
Клариса
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 23
13.02.2012, 21:24  [ТС] 11
здравствуйте, не знаю, как к вам обращаться на вы или на ты, но все же, вы бы не могли помочь мне решить задачу??
Сформируйте и выведите на экран массив из девяти элементов , каждые три последовательных элемента которого составлены по следующему правилу:
1-й равен случайному двузначному числу;
2-й равен целой части от деления случайного трехзначного числа на его индекс;
3-й равен остатку от деления случайного двузначного числа на 10.

Добавлено через 2 минуты
Это ведь вторая задача?
0
Coohper
38 / 38 / 29
Регистрация: 18.10.2011
Сообщений: 91
13.02.2012, 21:32 12
Конечно же на ты
Цитата Сообщение от Клариса Посмотреть сообщение
1-й равен случайному двузначному числу;
2-й равен целой части от деления случайного двузначного числа на 10;
3-й равен остатку от деления случайного двузначного числа на 10.
Смотри, что написал КонецСвета или thyrex;
А на эту :
Цитата Сообщение от Клариса Посмотреть сообщение
1-й равен случайному двузначному числу;
2-й равен целой части от деления случайного трехзначного числа на его индекс;
3-й равен остатку от деления случайного двузначного числа на 10.
- последняя запись на предыдущей строке
0
thyrex
Вирусоборец
7605 / 5076 / 843
Регистрация: 06.09.2009
Сообщений: 20,175
13.02.2012, 21:34 13
Цитата Сообщение от Клариса Посмотреть сообщение
А если вот такая задача?
Ваши две темы были объединены в одну администратором. Потому решение обеих задач прямо в этой теме и найдете
0
Puporev
13.02.2012, 21:45     Сформировать массив по правилу
  #14
 Комментарий модератора 
thyrex, Прекратитие свои претензии к администрации, поверините их в сторону автора тем, нарушившего Правила форума.
0
13.02.2012, 21:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2012, 21:45
Привет! Вот еще темы с ответами:

Сформировать массив по правилу
Задано количество членов разложения e = 2 + 1/2! + 1/3! + 1/4! + …, не превышающее 25. Сформировать...

Сформировать массив по правилу
Сформулируйте и выведите на экран массив из девяти элементов, каждые три последовательных элемента...

Сформировать массив по правилу

Сформировать массив по правилу
Дан массив X(N).сформировать массив Y(N) элементы которого получаются по следующему правилу ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.