0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 8
|
|
1 | |
Сгенерировать N2 случайных чисел...28.12.2008, 14:35. Показов 1750. Ответов 1
Метки нет (Все метки)
Помогите, кто может!:'(:'(
Сгенерировать N2 случайных чисел. Выделить в каждом из чисел дробну часть. Найти суммы из первых к цифр каждой дробной части чисел.Сформировать из их массив (таблицу) из N строк, в каждом из которых по N столбиков. Найти минимальное и максимальное числа в таблицы, а также сумму чисел n-го столбика. На экран вывести в виде строки случайные числа, полученный массив чисел, минимальное и максимальное числа таблицы, а также сумму чисел n-го столбика, сопровождая все необходимыми надписями. Зарание спасибо!!!
0
|
28.12.2008, 14:35 | |
Ответы с готовыми решениями:
1
Сгенерировать 10 случайных чисел в диапазоне от -10 до 10. Вывести на экран количество положительных чисел Сгенерировать последовательность из 10 случайных чисел и подсчитать сумму четных чисел Сгенерировать 10 случайных целых чисел в диапазоне от N до M Сгенерировать и вывести на экран пять случайных чисел из интервала[-10;10] |
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
28.12.2008, 16:08 | 2 |
Интересное начало у задачи, нестандартное как обычно, поэтому решил. Комментарии прочитаешь, думаю разберешся, ничего сложного только догадаться надо и несколько функций знать. Конец правда стандартный, мин, макс, сумма.
Код
uses crt; const n=5;//размер матрицы function SumCif(x:real;l:byte):byte;//функция считает первые цифры дробной части var i,sm,k:byte; x1:integer; begin x:=abs(x); //убираем минус, если он есть x:=x-trunc(x);//вычитаем целую часть числа for i:=1 to l do x:=x*10; //умножаем дробную часть на 10 сколько нужно первых цифр x1:=trunc(x);//берем целую часть, уже integer sm:=0; while x1>0 do begin k:=x1 mod 10; //оберем по одной цифре с конца sm:=sm+k; //и складываем x1:=x1 div 10;//повторяем, пока число не кончится end; SumCif:=sm; end; var a:array[1..n*n] of real; b:array[1..n,1..n] of byte; i,j,l,k,min,max:byte; sum:integer; begin randomize; clrscr; write('k=');readln(k); writeln('Massiv A:'); for i:=1 to n*n do begin a[i]:=10*random;//генерируем массив write(a[i]:8:4); end; writeln; writeln('Matrica B:'); for i:=1 to n do //превращаем его в матрицу begin for j:=1 to n do begin b[i,j]:=SumCif(a[j+n*(i-1)],k);//сразу берем сумму первых k цифр write(b[i,j]:4); end; writeln; end; min:=b[1,1];max:=b[1,1]; for i:=1 to n do for j:=1 to n do if b[i,j]<min then min:=b[i,j] /находим минимум else if b[i,j]>max then max:=b[i,j];//находим максимум writeln('Min=',min,' Max=',max); sum:=0; for i:=1 to n do sum:=sum+b[i,n]; //находим сумму последнего столбца write('Summa poslednego stolbca=',sum); readln end.
0
|
28.12.2008, 16:08 | |
28.12.2008, 16:08 | |
Помогаю со студенческими работами здесь
2
Сгенерировать 4000 целых случайных чисел в диапазоне от -3000 до 7000 и записать их в текстовый файл Сгенерировать массив из случайных чисел, чтобы соотношение сумм элементов выше и ниже главной диагонали стремилось к 1/3 Сгенерировать и вывести на экран массив с 10 случайных чисел в диапазоне от -100 до 100. Цикличный сдвиг массива влево на 1 и вывод на экран Сгенерировать 10 случайных значений в диапазоне от -30 до 150 и вывести кратные 3-м Найти суммы двух случайных чисел. a) целых чисел из диапазона от 50 до 100 b) вещественных чисел от 3х с половиной до 8 Сгенерировать два массива A и B случайных чисел в диапазоне [0,55] Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |