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

Задача с массивом

26.07.2009, 20:09. Просмотров 1031. Ответов 13
Метки нет (Все метки)

Здравствуйте!Подскажите пожалуйста в решении такой задачи. Например есть кусок кода:
C++
1
2
3
4
5
6
int main(){
int mas[10];
for(int i=0;i<10;i++){
       mas[i]=i+1;
       cout<<mas[i]<<endl;}
}
Результат выполнения будет такой:
1
2
3
.....
10
А вопрос вот в чем: как нужно написать,чтобы в результате эти числа от 1 до 10 были напечатаны все в разном порядке,но не повторялись???...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.07.2009, 20:09
Ответы с готовыми решениями:

Задача с массивом
Задан массив, необходимо вычислить разность между 2 и 1 числом, потом между 3 и 2 и так до...

C++ задача с массивом
Сколько не старался не чего у меня с этими массивами не выходит. Вообще не как не могу поянть как...

Задача с массивом
Вычислить значение Z по заданному массиву q(n,n),n≤15 и массиву x(n),Z=max(i=1,n)∑(отjдоn=1)...

Задача с массивом
3. Дан массив вещественных чисел А(А0,А1,…,Аn). Заполнить массив В(В0,В1,…,Вn), элементы которого...

13
158 / 157 / 47
Регистрация: 29.04.2009
Сообщений: 637
26.07.2009, 20:13 2
функция ранд и разброс от 0 до 10
0
9 / 9 / 2
Регистрация: 01.05.2009
Сообщений: 127
26.07.2009, 20:15  [ТС] 3
Да знаю я функцию ранд...Делал...Надо чтобы все числа от 1 до 10 были,и не повторялись никак,я же написал...А в ранде такой шанс 1 из 10...Если не меньше
0
Maniac
Эксперт С++
1445 / 947 / 158
Регистрация: 02.01.2009
Сообщений: 2,813
Записей в блоге: 1
26.07.2009, 20:18 4
1. можно просто перемешать
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <algorithm>
int main()
{   
    int arr[10] = {1,2,3,4,5,6,7,8,9,10};
    std::random_shuffle(arr, arr + 10);
    for(int i = 0; i < 10; ++i)
        std::cout << arr[i] << ' ';
    std::cout << '\n';
 
    return 0;
}
2.https://www.cyberforum.ru/cpp-... 44753.html

std::random_shuffle
2
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
26.07.2009, 20:27 5
так ещё красивей будет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <iterator>
#include <algorithm>
 
int main()
{
  int arr[] = {1,2,3,4,5,6,7,8,9,10};
  const int size = sizeof(arr) / sizeof(*arr);
 
  std::random_shuffle(arr, arr + size);
  std::copy(arr, arr + size, std::ostream_iterator<int>(std::cout, "\n"));
 
  return 0;
}
0
1182 / 467 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
26.07.2009, 21:14 6
Цитата Сообщение от Alik-Soldier Посмотреть сообщение
Да знаю я функцию ранд...Делал...Надо чтобы все числа от 1 до 10 были,и не повторялись никак,я же написал...А в ранде такой шанс 1 из 10...Если не меньше
а ты пиши код что бы не повторилась!!!:

C
1
2
3
4
#include"time.h"
#include"windows.h"
srand((unsigned)time(NULL));
int a = rand()%10 + 1;
если не ошибаюсь ранд находится в виноусе
0
Maniac
Эксперт С++
1445 / 947 / 158
Регистрация: 02.01.2009
Сообщений: 2,813
Записей в блоге: 1
26.07.2009, 21:18 7
Цитата Сообщение от @lex Посмотреть сообщение
если не ошибаюсь ранд находится в виноусе
ошибаешься. он находится в stdlib.h
1
1182 / 467 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
26.07.2009, 21:22 8
тогда так

C
1
2
3
4
#include"time.h"
#include"stdlib.h"
srand((unsigned)time(NULL));
int a = rand()%10 + 1;
0
9 / 9 / 2
Регистрация: 01.05.2009
Сообщений: 127
26.07.2009, 21:30  [ТС] 9
Цитата Сообщение от @lex Посмотреть сообщение
а ты пиши код что бы не повторилась!!!:

#include"time.h"
#include"windows.h"
srand((unsigned)time(NULL));
int a = rand()%10 + 1;
А разве так повторяться не будет???по моему будет
0
158 / 157 / 47
Регистрация: 29.04.2009
Сообщений: 637
26.07.2009, 21:30 10
Да знаю я функцию ранд...Делал...Надо чтобы все числа от 1 до 10 были,и не повторялись никак,я же написал...А в ранде такой шанс 1 из 10...Если не меньше
Если повторится запустить еще раз rand для того индекса где повторилось
0
1182 / 467 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
26.07.2009, 21:37 11
Цитата Сообщение от Alik-Soldier Посмотреть сообщение
А разве так повторяться не будет???по моему будет
нет.Код
srand((unsigned)time(NULL));
для этого и нужен.

Добавлено через 1 минуту 6 секунд
Alik-Soldier,у тебя что рядом компилятора нету что ли?Попробуй мой код
0
535 / 351 / 47
Регистрация: 05.04.2009
Сообщений: 724
26.07.2009, 21:53 12
Alik-Soldier,
Цитата Сообщение от Alik-Soldier Посмотреть сообщение
числа от 1 до 10 были напечатаны все в разном порядке,но не повторялись
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
int main()
{
int mas[10];
 
    for(int i = 0; i < 10; i++)
    {
       mas[i] = (i * 3)%10 + 1;
 
       cout << mas[i] << endl;
    }
 
system("pause");
return EXIT_SUCCESS;
}
1
2806 / 1396 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
26.07.2009, 21:59 13
Alik-Soldier, а вообще, о случайных числах можешь почитать тут.
1
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
26.07.2009, 22:05 14
Читаем FAQ в данном разделе и не задаем одни и те же вопросы.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.07.2009, 22:05

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

Задача с массивом
Помогите юному студенту с простой задачей ! Создать массив и заполнить его первыми 20 числами,...

Задача с массивом
Мне нужно создать массив 10 на 6 и там инициализировать только 15 ячеек числами от 1 до 999, а...

Задача с массивом
В массиве С(10) найти все элементы большие 7. Указать их номера. Напишите пожалуйста функцию на...

Задача с массивом
Путем перестановки элементов квадратной вещественной матрицы добиться того, чтобы ее максимальный...


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

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

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