Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 1
Регистрация: 10.03.2012
Сообщений: 14
1

Массивы,генератор псевдослучайных чисел.

26.03.2012, 21:52. Показов 880. Ответов 4
Метки нет (Все метки)

Всем привет,помогите разобраться с 2 задачами.
1) Дана последовательность из n вещественных чисел. Найти наиболее длинную подследовательность из подряд идущих нулей.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{ double *a, k; int ps0(0),s(0);
cout<<"vvedite razmernost masiva";
cin>>k;
randomize();
a=new double [k];
    for (int i=0; i<k; i++)
              a[i]=random(100);
for (int i(0),m=0; i<k; i++)
{
    if (a[i]==0) m++;
    else m=0;
    if (ps0<m) ps0=m;;
}
      while (s<=ps0)
{
        cout<<0;
        s++;
}
 delete[]a;
getch();
 
        return 0;
}
выводит постоянно пс из одного нуля.

2) Для квадратной вещественной матрицы A размером n найти скалярное произведение строки, в которой находится наибольший элемент матрицы, на столбец с наименьшим элементом.

Добавлено через 1 час 5 минут
..up.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2012, 21:52
Ответы с готовыми решениями:

генератор псевдослучайных чисел...
Вот програмулька генерирующая псевдослучайные числа создавалась по алгоритму X(n+1)=a*X(n)+c*(mod...

Генератор псевдослучайных чисел
Всем привет. Как такое &quot;чудо&quot; пишеться, примерный алгоритм, если можно на псевдокоде: Написать...

Генератор псевдослучайных чисел
Данный генератор работает по конгруэнтному методу, формула X_{n} = ( a X_{n-1}^3 + b X_{n-1}^2 + c...

Генератор псевдослучайных чисел
Написать генератор псевдослучайных чисел по алгоритму r = r * 4231 + 123457; Подсчитать частоты...

4
9 / 9 / 4
Регистрация: 10.05.2011
Сообщений: 101
26.03.2012, 23:46 2
Для генерации случайных чисел подключайте библиотеки stdlib.h и time.h
Затем в начале функции main для включения генерации неповторяющейся следует написать srand(time(NULL));
сама генерация в промежутке [x;y]:
rand()%(y-x+1)+x
1
870 / 768 / 174
Регистрация: 11.01.2012
Сообщений: 1,942
26.03.2012, 23:53 3
Raikerian, у ТС код на Builder
0
9 / 9 / 4
Регистрация: 10.05.2011
Сообщений: 101
26.03.2012, 23:55 4
Цитата Сообщение от MrCold Посмотреть сообщение
Raikerian, у ТС код на Builder
Ну тогда не знаю)

Вот если что вторая задача на C++. Думаю по алгоритму не сложно на билдер переделать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
    setlocale(LC_ALL, "");
    srand(time(NULL));
    int n;
    cout << "Введите n: ";
    cin >> n;
    int A[100][100],
        min = 100,
        max = 0,
        kmin, kmax,
        i, j;
    cout << "\nИсходный массив:" << endl;
    for (i=0; i<n; ++i)
    {
        for (j=0; j<n; ++j)
        {
            A[i][j]=rand()%20-6;
            // Находим наименьший элемент и его столбец (номер)
            if (A[i][j]<min)
            {
                min = A[i][j];
                kmin=j;
            }
            // Находим наибольший элемент и его строку (номер)
            if (A[i][j]>max)
            {
                max = A[i][j];
                kmax=i;
            }
            // Выводим массив на экран
            cout << A[i][j] << "\t";
        }
        cout << endl << endl;
    }
    // Находим скалярное произведение строки, в которой находится наибольший элемент матрицы, на столбец с наименьшим элементом
    int scal = 0;
    for (i=0; i<n; ++i)
        scal += A[kmax][i]*A[i][kmin];
    cout << "\nОтвет:" << endl
         << "Скалярное произведение = " << scal << endl;
    // Задержка экрана
    cin.sync();
    cin.get();
    return 0;
}
0
1 / 1 / 1
Регистрация: 10.03.2012
Сообщений: 14
28.03.2012, 00:56  [ТС] 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{int **a,nmax,nmin,scal(0);
randomize();
int n;
cout<<"zadaite razmernost";
cin >>n;
a=new int* [n];
for(int i=0; i<n; i++)
        a[i]=new int[n];
        for(int i=0; i<n; i++)
           {
           for(int max(0),min(100),j=0; j<n; j++)
             {
               a[i][j]=random(5);
        //находим максмиальный элемент строки и запоминаем номер этой строки
                if (a[i][j]>max)
                     {
                      max= a[i][j];
                      nmax=i;
                     }
        //находим минимальный номер столбца и запрминаем номер этого столбца
                if (a[i][j]<min)
                     {
                     min=a[i][j];
                     nmin=j;
                     }
                     cout << a[i][j]<<"\t";
             }
               cout<<"\n";
            }
               for(int i=0; i<n; i++)
               {
                      for(int j=0; j<n; j++)
                      scal=scal+a[nmax][j]*a[j][nmin];
               }
 
                     cout<<"skalzrnoe proizvedenie= "<<scal<<"\n";;
             cout<<"nmin"<<nmin<<"\n"<<"nmax"<<nmax;
             delete[] a;
        getch();
 
 
 
        return 0;
}
Написал вторую задачу,но при проверке на калькуляторе не сходится ответ с тем что выдает программа,может кто нибудь проверить-ошибка в коде или это уже я лажаю с калькулятором?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2012, 00:56

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Генератор псевдослучайных чисел.
Здраствуйте. Мне нужно сделать вот что &quot;Написать генератор псевдослучайных чисел по алгоритму r =...

Генератор псевдослучайных чисел
Народ, помогите плиз с решением этой задачи. Мне надо управляемый генератор равновесных...

Генератор псевдослучайных чисел
Лучший генератор для псевдослучайных чисел. Числа от 1 до 54(0 до 53)

Генератор псевдослучайных чисел.
Написать генератор псевдослучайных чисел по алгоритму r = r * 4231 + 123457; Подсчитать частоты...


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

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

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