я написал следующую программу:Создание векторов разной длины в Perl
use strict;
use warnings;
use 5.010;
my $nodesNumber = 100 ;
my $communitiesNumber = 10;
my $prob_communities = 0.3;
for my $i (1 .. $nodesNumber){
for my $j (1 .. $communitiesNumber){
my $random_number=rand();
if ($prob_comunities > $random_number){
say "$i $j";
}
}
}
Эта программа дает в качестве вывода список из двух столбцов целых чисел, как:
1 2
1 4
2 2
2 5
2 7
...
Я хотел бы создать вектор, в котором первый элемент в левом столбце подсчитывается один раз, а правые элементы столбца представляют значение компонентов вектора. Я хотел бы, чтобы результат выглядел следующим образом:
vector[0][0]= 1
vector[0][1]= 2
vector[0][2]= 4
vector[1][0]= 2
vector[1][1]= 2
vector[1][2]= 5
vector[1][3]= 7
Любая помощь?
Этот скрипт должен быть добавлен к моему? Если я создаю выходной файл с данными, которые я сгенерировал, мне просто нужно поместить файл handle $ fh в while (<>)? –
Если я просто добавлю его в полный скрипт, он ничего не даст. –
@ ValerioD.Ciotti Да. Или вы можете заменить свой 'say '$ i $ j" 'на' $ _ =' $ i $ j "и вставить логику из' chomp; 'во второй' push' (при исключении строки 'next if') к вашему сценарию, чтобы объединить два сценария вместе. Не забудьте объявить переменные. –