Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/55: Рейтинг темы: голосов - 55, средняя оценка - 4.85
2 / 2 / 2
Регистрация: 27.07.2013
Сообщений: 13

srand() и rand() не работают должным образов

12.10.2013, 14:53. Показов 10938. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! В общем задали задание написать программу заполнения двумерного массива случайными числами в диапазоне от -70 до 170, найти максимальный элемент массива и отсортировать строку, которую выберет пользователь.
Проблем в том что если использовать отдельно команду rand() то массив случайный чисел создается, но не меняются значения, а если добавить srand() то выдается массив совершенно одинаковых чисел. Помогите пожалуйста разобраться в чем проблема
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (LC_ALL, "Russian");
    int i, n, mas[9][11], max;
    char ch;
    for ( ; ; )
    {
        do
        {
            cout<<"1. Заполнить двумерный массив размером 9х11 случайными целыми числами в диапазоне [-70;170] и вывести его на экран"<<endl;
            cout<<"2. Найти наибольший элемент массива и вывести его на экран"<<endl;
            cout<<"3. Отсортировать строку в порядке возрастания и вывести её на экран"<<endl;
            cout<<"4. Выход"<<endl;
            cout<<"Выберите пункт меню: ";
            ch=getchar();
        } while (ch!='1' && ch!='2' && ch!='3' && ch!='4');
        switch(ch)
        {
            case '1': system("cls");
                      for (i=0; i<9; ++i)
                      {
                          for (n=0; n<11; ++n)
                          {
                              srand( time( NULL ) );
                              mas[i][n]=rand() % 240-70;
                              cout<<mas[i][n]<<" ";
                          }
                          cout<<endl;
                      }
                      cout<<endl;
                      getchar();
                      break;
            case '2': system("cls");
                      max=mas[0][0];
                      for (i=0; i<9; ++i)
                      {
                          for (n=0; n<11; ++n)
                          {
                              if (max<mas[i][n]) max=mas[i][n];
                          }
                      }
                      cout<<"Наибольший элемент массива "<<max<<endl;
                      cout<<endl;
                      getchar();
                      break;
            case '3': system ("cls");
                      cout<<"Введите номер строки которую следует отсортировать: ";
                      cin>>i;
                      cout<<"Строка до сортировки: ";
                      for (int n = 0; n < 10; n++)
                      {
                          cout<<mas[i][n]<<" ";
                      }
                      cout<<endl;
                      cout<<"Строка после сортировки: ";
                      for (int n = 0; n < 10; ++n)
                      {
                          if (n=10)
                          {
                              if (mas[i][n]<mas[i][0])
                              {
                                  max=mas[i][0];
                                  mas[i][0]=mas[i][n];
                                  mas[i][n]=max;
                              }
                          }
                          else
                          {
                              if (mas[i][n]>mas[i][n+1])
                              {
                                  max=mas[i][n];
                                  mas[i][n]=mas[i][n+1];
                                  mas[i][n+1]=max;
                              }
                          }
                      }
                      for (int n = 0; n < 10; ++n)
                      {
                          cout<<mas[i][n]<<" ";
                      }
                      cout<<endl;
                      getchar();
                      break;
            case '4': exit (0);
        }
    }
    system("pause");
    return 0;
}
Результат программы при использовании srand() в приложенном файле
И помогите еще разобрать с сортировкой, не сортирует вообще
Миниатюры
srand() и rand() не работают должным образов  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.10.2013, 14:53
Ответы с готовыми решениями:

Rand() и srand() неправильно работают
main() { srand(time(NULL)); for (int i = 0; i &lt; 100; i++) printf(&quot;%d &quot;, rand()); } Диапазон чисел почему то от нуля до...

srand и rand
Здравствуйте. Надо заполнить массив единицами и нулями. srand (time (NULL)); for (int i=0; i&lt;size; i++){ val=rand()%2; } ...

rand, srand и т.д
Дана целочисленная матрица A (N,M), в которой имеются ровно два одинаковых элемента. Найти индексы этих элементов. Вопрос: можно ли...

2
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
12.10.2013, 15:26
srand( time( NULL ) ); в таком случае надо выполнить один раз в самом начале программы.
2
2 / 2 / 2
Регистрация: 27.07.2013
Сообщений: 13
12.10.2013, 15:39  [ТС]
Благодарю, помогло. А что на счет сортировки в case '3'?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.10.2013, 15:39
Помогаю со студенческими работами здесь

srand(), rand() и их seed
Пишу класс, объекты которого представляют из себя трехмерные модели планет. Для того что бы разнообразить ландшафт использую алгоритм,...

Различия srand() и rand()
Привет, форумчане! Изучаю с++шник, внезапно появился нездоровый интерес. Чем srand() отличается от rand()? Знаю, что srand() генерирует...

rand() & srand()
кто знает как работает пара функции rand() и srand(). я знаю как это пара функци работает.мне всегда интересовало как это зделано .одно...

Не определяется srand, time, rand
В данном коде не хотят определяться srand, time,rand void FillArray(int arrayDimension, int randomMax, int** array) { ...

Что означают строки rand и srand
Доброго времени суток ! Дан код: rand() % (range_max - range_min + 1) + range_min; ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru