Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2022, 14:44   #1
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 987
По умолчанию Случайные и массив и МЫ

Случайные и массив и МЫ

Иногда часто создаются темы про ввод данных в массив

Массивы удобно вводить автоматически как случайные числа

Значит важна тема про заполнение массива случайными числами
и про вывод массива на экран

Для начала формулы Excel Эксцель

=случмежду(-100;100)
или
=случмежду(0;200)-100

Создают в ячейке случайное число от -100 до 100
и расширив ячейку получаем множество случайных чисел

Далее предполагаю алгоритмы случайных qbasic & qb64 & C# & Python
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
сфинкс вне форума Ответить с цитированием
Старый 03.12.2022, 08:59   #2
Areostar
Пользователь
 
Регистрация: 19.12.2007
Сообщений: 50
По умолчанию

В чём вопрос то?

В Питоне на пример для того пользуем списковое включение и random.choice или random.choices
Areostar вне форума Ответить с цитированием
Старый 10.12.2022, 17:55   #3
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 987
По умолчанию

Ответы лучше осмысленные включающие работающие программы

https://www.programmersforum.ru/show...83#post1854383

Массив из 20 целых чисел в промежутке от -100 до 100
сформированный при помощи randomize

Pascal

Код:
var p: array[1..20] of integer;
    i: integer;
begin
   Randomize;
   for i:=1 to 20 do
   begin
      p[i]:=-100+Random(200);
      Write(p[i]:3, '  ');
      end;
end.
https://rextester.com/XOTWA4870
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 10.12.2022 в 17:59.
сфинкс вне форума Ответить с цитированием
Старый 12.12.2022, 16:55   #4
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 987
По умолчанию

Python Питон массив дюжина целые случайные
и сортировка и вывод на экран

Код:
from random import randint 
N=12
a = [1]
for i in range (1,N):
    a[i]=a.append(i) 
    a[i]=randint(-100,100)
    print(a[i], end=' ')
print()

for i in range (0,len(a)-1):
    for j in range (i,len(a)):
       if a[i]>a[j]:
           t=a[i]; a[i]=a[j]; a[j]=t
for i in range (1,len(a)):
    print(a[i], end=' ')
https://rextester.com/JBA74058

Варианты:
Код:
from random import randint
x = randint(0,10**6)
print(x)
print(randint(0,10**6))
Код:
import random
N=12
c=0
while c<N:
    a=random.randrange(-100,100)
    print(a)
    c=c+1
Массив расширен до N нулей сразу
Код:
N=10
a=[]
a.append([0]*N)
print (a)
И ещё важно уметь заполнять массивы многомерные матрицы

Причём желательно чтобы онлайн компилятор
понимал целые работоспособные программы
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 12.12.2022 в 22:25.
сфинкс вне форума Ответить с цитированием
Старый 12.12.2022, 19:43   #5
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

VCL стандартные функции
Код:
 Random:Double; // равномерно распределенное [0;1]
Код:
 
uses Math;
 RandG(m,s:Extended):Extended; // нормально распределенное m-мат. ож., s- СКВО
Самодельные
Код:
 
 function genExp(lam:Double):Double; // экспоненциальное
begin
 Result:=-Ln(Random)/lam;
end;
function genChi2(k:Integer):Double; // хи-квадрат
var s:Double;
   i:Integer;
begin
 s:=0;
 for i:=1 to k do
  s:=s+Sqr(RandG(0,1));
 Result:=s;
end;
function genLogNorm(mu,sig:Double):Double; // логнормальное
begin
 Result:=Exp(RandG(mu,sig));
end;
// и т.д.
type_Oleg вне форума Ответить с цитированием
Старый 19.12.2022, 15:15   #6
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 987
По умолчанию

Python-2022 без счётчика скачиваний: 10 видео
неизвестного автора понятные и ещё увеличены
cloud.mail.ru/public/VusB/6tPEgexsv

C# СиШарп Случайные и Массив и Сортировка и Вывод

Код:
using System; // MASSIV.cs
namespace massiv { public class Program
{ static void Main(string[] args)
{ int n=10; int[] a = new int[n+1];
Random rand = new Random();
for (int i = 1; i <= n; i++)
{ a[i] = rand.Next(200)-100; 
Console.Write(a[i]); Console.Write(" ");
}
Console.WriteLine(" ");
 
for (int i = 1; i < n; i++)
for (int j = i+1; j < n+1; j++)
{ if (a[i] > a[j])
{var temp = a[j];a[j] = a[i];a[i] = temp;}
}
            
for (int i = 1; i < n+1; i++)
{ Console.Write(a[i]); Console.Write(" ");
}}}}
C# https://rextester.com/KQOJ24458

Применён массив от 1 до n+1 вместо от 0
чтобы было совместимо с языками без 0-го элемента

C#_за_час_11.mp4 55 МБ включает просмотр
cloud.mail.ru/public/p495/7eiY8sbwB
ссылка без счётчика скачивания

Видео пол-часа про начало программирования C#
неизвестного автора инверсией переведено в тёмный фон
зато 2-я часть непонятная не прилагается
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
сфинкс вне форума Ответить с цитированием
Старый 22.12.2022, 17:35   #7
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 987
По умолчанию

qbasic qb64 файл пишем и читаем
Код:
n = 10: Dim a$(n): Randomize Timer ' inoutqb.bas
Open "222.txt" For Output As #2
For i = 1 To n
    a$(i) = Str$(Int(Rnd * 88) + 10)
    Print #2, a$(i)
Next: Close #2

Open "222.txt" For Input As #1
For i = 1 To n
    Input #1, a$(i)
    Print a$(i); " ";
Next: Close #1
c# файл читаем и пишем
Код:
using System; //csc.exe /nologo inout.cs
using System.IO; 

namespace inout

{ public class Program
{ static void Main(string[] args)
{ int n = 7;
string[] a = new string[12];

var inpFile = new StreamReader("11111.txt");
for (int i = 0; i < n; i++)
a[i] = inpFile.ReadLine();
inpFile.Close();

var outFile = new StreamWriter("22222.txt");
for (int i = n-1; i >=0; i--)
outFile.WriteLine(a[i]);
outFile.Close();
}}}
Вариант строк в соответствующих местах
Код:
int[] a = new int[12];
a[i] = Convert.ToInt32(inpFile.ReadLine());
Вообще C# цикл и далее 1 строка без скобок
значит повторится только 1 строка

Далее нужны этюды про 2-мерные массивы матрицы
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
сфинкс вне форума Ответить с цитированием
Старый 07.01.2023, 07:50   #8
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 987
По умолчанию

Изучаю C++ глядя видео лекции параллельно набирая программы

Как спрашивают в другой теме:
видео лекции инструмент для начала программирования

Получилась очередная программа Миллиард
https://www.programmersforum.ru/show...29#post1847929

угадывающая случайные за число ходов логарифмическое
по принципу 10^3=2^10 загадано больше в 1000 раз значит +10 угадываний

Код:
#include <iostream> // Milliard.cpp
using namespace std; int main()   
{ srand(time(NULL)); // rextester.com/QZEGM92902
int h2=1000000000, h1=0, f=0, t=0, a=0;
int comp = rand() % h2;
int human = rand() % h2;
while (f<1)
{ cout << endl << t << " " << comp << " " << human;
    if(comp < human)
    { cout << " MORE";
    a=comp; comp=(comp+h2)/2; h1=a;}
else if(comp > human)
    { cout << " less";
    a=comp; comp=(h1+comp)/2; h2=a;}
else { cout <<" win by "<<t<<" steps"; f=1;}
t++; } system("pause");}//cin.get();}
https://rextester.com/QZEGM92902

Причём бывшие версии Миллиард Python & C# & qb64 переделаны на While
и хорошо если бы компиляторы встраивались бы на форум вида trinket.io

Напоминаю: данная тема без обсуждения про случайные
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 08.01.2023 в 02:22.
сфинкс вне форума Ответить с цитированием
Старый 10.01.2023, 07:30   #9
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 987
По умолчанию

Универсальная программа изучения языков ... охватывает:

вывод на экран
ввод с клавиатуры размер массива
массив 1-мерный
массив 2-мерный
случайные
математика
цикл for
условие
цикл while
вывод в файл
считать из файла

и может быть полезна ученикам и учителям

Сценарий:

Стартовать случайные
Задать или ввести с клавиатуры размер массива n
Начать массивы 1-мерный и 2-мерный учитывая n
Начать массивы результатов 1-мерный и 2-мерный

Массив1 случайные от 0 до 9: заполнение и вывод

Если элемент чётный: вычислить квадрат
иначе оставить значение как есть
и результаты поместить в другой массив
и распечатать оба массива в столбик

Сортировка пузырьковая итогового массива
вложенные циклы и обмены

Вывести сортированный итоговый массив через while

Массив 2-мерный заполнить суммами номеров столбца и строки
Если значение нечётное: возвести в квадрат
иначе оставить значение и создать ещё 2-мерный массив
и вывести на экран матрицы исходную и результат

Создать имя файла как 2 случайные цифры и ".txt"

Вывести в файл матрицу результат в обратном порядке
где перевёрнуты и строки и столбцы

Закрыть файл для записи и открыть файл для чтения

Считывать из файла в переменную w
и сформировать на экране матрицу обратную матрице2



Примерный результат при n=3
Код:
Randomize Timer: n = 3: ' Print "n= ": input n 
Dim d(n), a(n, n), x(n), y(n, n) ' universe.bas

For i = 1 To n: d(i) = Int(Rnd * 9)
Print d(i);: Next: Print: Print

For i = 1 To n
If d(i) Mod 2 = 0 Then x(i)=d(i)^2 Else x(i)=d(i)
Print d(i), x(i): Next: Print

For i = 1 To n - 1: For j = i + 1 To n
    If x(i) > x(j) Then Swap x(i),x(j)
Next: Next

i = 1: While (i <= n)
    Print x(i);: i = i + 1
Wend: Print: Print

For i = 1 To n: For j = 1 To n
    a(i,j) = i + j
    If (a(i,j) Mod 2 <> 0) Then
        y(i,j) = a(i,j)^2
    Else
        y(i,j) = a(i,j)
    End If
Print a(i,j);: Next: Print: Next: Print

For i = 1 To n: For j = 1 To n
Print y(i,j);: Next: Print: Next: Print

a$ = Mid$(Str$(Int(Rnd * 88) + 10) + ".txt", 2, 6)

Open a$ For Output As #1
For i = n To 1 Step -1: For j = n To 1 Step -1
Print #1, y(i,j);: Next: Print #1,: Next: Print #1,

Close: Open a$ For Input As #2

For i = 1 To n: For j = 1 To n
Input #2, w: Print w;: Next: Print: Next: Print
Close: End
Планирую программу qbasic qb64 universe перевести на языки
c# C++ Python JavaScript

Поэтому ждём версии программы universe без обсуждения
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
сфинкс вне форума Ответить с цитированием
Старый 12.01.2023, 09:44   #10
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 987
По умолчанию

Добавлен алгоритм минимакс qbasic qb64
и далее вся программа будет переведена на современные ЯПы
Код:
min = d(1): max = d(1):  nmin=1: nmax=1
for i=2 to n
    if d(i)< min then min=d(i): nmin=i
    if d(i)> max then max=d(i): nmax=i
next
for i=1 to n: Print d(i);: next: Print: Print  
Print min; nmin, max; nmax

s=0: for i=1 to n: s=s+d(i): next: ? s, s/n: End
Или каждый может + должен = обязан
перевести всю программу или часть программы самостоятельно

Проще пиша: домашнее задание

https://www.youtube.com/watch?v=V3gfrGL2yro
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 13.01.2023 в 07:03.
сфинкс вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив 12 элементов,случайные положительные и отрицательные. Найти элемент наиболее близкий к среднему значению(Паскаль 1998y8m1d Помощь студентам 6 16.12.2013 17:06
Случайные буквы StudentMarat Помощь студентам 6 17.10.2011 17:24
Случайные числа. Си. meta Помощь студентам 1 31.05.2011 01:48
случайные числа NeVerSS Общие вопросы Delphi 3 01.10.2010 22:22
Случайные числа.... Teen4jump Общие вопросы Delphi 4 28.11.2008 23:52