Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 21

Заполнение массива случайным образом и другие операции

19.10.2012, 15:45. Показов 2806. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно объявить массив целых чисел и заполнить его случайными значениями с помощью randomize и random(возможно srand) Причем, размер массива 50, а диапазон значений в массива от -100 до 100.

Затем ввести целые числа а и б, с тем же диапазоном, и заменить все вхождения значений в диапозоне от А до Б на максимальное значение в массиве.

Напишите, пожалуйста, как хотя бы массив задается и максимальный элемент ищется..
p.s полный 0 в языке Си(:
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.10.2012, 15:45
Ответы с готовыми решениями:

Заполнение массива случайным образом
Как заполнить одномерный массив случайными числами?

Заполнение массива случайным образом
int A = new int ; var r = new Random(); for (int i = 0; i < 10; i++) { A =...

Заполнение и сортировка массива случайным образом
a1,..., даны одномерные массивы чисел a20. Заполнение и сортировка его случайным образом.

9
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
19.10.2012, 15:51
Цитата Сообщение от lizochka74 Посмотреть сообщение
Напишите, пожалуйста, как хотя бы массив задается
Массив задаётся так:
тип элементов массива имя массива [кол-во элементов массива];
и максимальный элемент ищется..
p.s полный 0 в языке Си(:
А как найти максимальный элемент массива в других языках знаете?
0
6 / 6 / 1
Регистрация: 31.01.2012
Сообщений: 134
19.10.2012, 16:07
Сейчас сделаю
0
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 21
19.10.2012, 16:11  [ТС]
знаю, как в паскале. А вот, Си загадка еще)
0
6 / 6 / 1
Регистрация: 31.01.2012
Сообщений: 134
19.10.2012, 16:17
Думаю что-то типо такого.
Можно в виде функций оформить

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
# include <time.h>
# include <iostream>
using namespace std;
# define LENGHT 50
# include <iomanip>
 
int main()
{
    int values[LENGHT];//int - тип, values - имя, 50 - размер
    int temp;
    int rangeA = 0, rangeB = 0;
    
    srand(time(NULL));//нужно что бы был настоящий рандом
    
    for(int i = 0; i < LENGHT; i ++)//заполнение массива
    {
        temp = rand()%2;//подсчёт будет минус или нет, если значение будет равно нулю - то число с минусом, в остальных случаях - нет
        if(temp == 0) values[i] = (rand() % 100)*-1;
        else values[i] = (rand() % 100);//% - означает остаток от деления на 100(от 0 до 99)
        
    }
    
    cout << "we have:\n";
    for(int i = 0; i < LENGHT; i ++)//вывод массива до замен
    {
        if(i%10 == 0 && i != 0)
            cout << endl;
        cout << setw(4) << values[i] << " ";
    }
    cout << endl;
    system("pause");
    
    temp = values[0];//чтобы было с чем сравнивать
    for(int i = 0; i < LENGHT; i ++)//поиск максимума
         if(temp<values[i])
             temp = values[i];
    do//ввод диапозонов
    {
        system("cls");
        cout << "Enter ranges! A > B!\n";
        cout << "Enter range A: ";
        cin >> rangeA;
        cout << "Enter range B: ";
        cin >> rangeB;
    }while(rangeA < 0 || rangeA > LENGHT || rangeB < 0 || rangeB > LENGHT || rangeA>rangeB);
    
    for(int i = rangeA; i < rangeB; i++)//заполнение диапозона максимальным числом
        values[i] = temp;
    
    cout << "\nMax number in array = " << temp << endl;//вывод макс. числа
    for(int i = 0; i < LENGHT; i ++)//вывод нового массива
    {
        if(i%10 == 0 && i != 0)
            cout << endl;
        cout << setw(4) << values[i] << " ";
    }
    cout << endl;
    system("pause");
    return 0;
}
1
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
19.10.2012, 16:18
Ну так тут ищется абсолютно также. Только синтаксис немного другой.
C++
1
2
3
4
5
int Arr[N];
int Max = Arr[0];
for (i = 0; i < N; ++i)
    if (Arr[i] > Max)
        Max = Arr[i];
1
6 / 6 / 1
Регистрация: 31.01.2012
Сообщений: 134
19.10.2012, 16:37
Вот с функциями.
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
# include <time.h>
# include <iostream>
using namespace std;
# define LENGHT 50//длина массива
# define RANGE 100//диапозон значений числа
# include <iomanip>
 
void fillArray(int*);
void printArray(int*);
int findMaxInArray(int*);
void swapElementsInArray(int*, int);
 
int main()
{
    int values[LENGHT];
    int max;
 
    fillArray(values);
    printArray(values);
    max = findMaxInArray(values);
    swapElementsInArray(values,max);
    printArray(values);
 
    return 0;
}
 
void fillArray(int* arr)
{
    int mark = 0;
    srand(time(NULL));
 
    for(int i = 0; i < LENGHT; i ++)
    {
        mark = rand() % 2;
        if(mark == 0)
            arr[i] = (rand() % RANGE) * -1;
        else
            arr[i] = (rand() % RANGE);   
    }
}
 
void printArray(int* arr)
{
    cout << "\nArray:" << endl;
    
    for(int i = 0; i < LENGHT; i ++)
    {
        if(((i % 10) == 0) && (i != 0))
            cout << endl;
        cout << setw(4) << arr[i] << " ";
    }
    cout << endl;
    system("pause");    
}
 
int findMaxInArray(int*arr)
{
    int temp = arr[0];
 
    for(int i = 0; i < LENGHT; i ++)
        if(temp<arr[i])
            temp = arr[i];
            
    return temp; 
}
 
void swapElementsInArray(int*arr,int max)
{
    int rangeA = 0, rangeB = 0;     
 
    do
    {
        system("cls");
        cout << "Max element = " << max << endl << endl;
 
        cout << "Enter ranges! A > B!\n";
 
        cout << "Enter range A: ";
        cin >> rangeA;
 
        cout << "Enter range B: ";
        cin >> rangeB;
    }while(rangeA < 0 || rangeA > LENGHT || rangeB < 0 || rangeB > LENGHT || rangeA>rangeB);
 
    for(int i = rangeA; i < rangeB; i++)
        arr[i] = max;
}
1
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 21
19.10.2012, 18:00  [ТС]
Цитата Сообщение от !Андрей! Посмотреть сообщение
int rangeA = 0, rangeB = 0;
что обозначает?
0
6 / 6 / 3
Регистрация: 03.01.2012
Сообщений: 449
19.10.2012, 18:02
Цитата Сообщение от lizochka74 Посмотреть сообщение
что обозначает?
размер массива?
0
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 21
19.10.2012, 19:08  [ТС]
lips, дак он же одномерный, зачем 2 переменных, я думаю это числа А и Б из диапазона, но не понимаю почему range(

Добавлено через 58 минут
как найти диапазон от А до Б?
(:
и как заменить все элементы массива входящие в диапазон?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.10.2012, 19:08
Помогаю со студенческими работами здесь

Заполнение массива 0 и 1 случайным образом + задача боян
Такая задача: Заполните массив случайным образом нулями и единицами так, чтобы количество единиц было больше количества нулей. Вот что я...

Организовать заполнение двумерного массива целыми четными и нечетными числами случайным образом в интервале от 1 до 6
Запрашивать размерность двумерного массива. Затем организовать заполнение двумерного массива целыми четными и нечетными числами случайным...

Задание знака операции случайным образом
Смотрите, есть например. 15*20. И вместо звёздочки должен стоять либо + либо -. Нельзя ли сделать типо rand, что бы программа сама ставила...

Заполнение StringGrid случайным образом
подскажите, пожалуйста, почему ошибку дает в процедуре? procedure TForm1.btn1Click(Sender: TObject); begin Randomize for j:=0...

Заполнение таблицы случайным образом
Здравствуйте! Помогите пожалуйста!!! Нужно заполнить таблицу большим количеством разных данных (случайно). Настолько большим, что нельзя...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru