Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Alik-Soldier
9 / 9 / 0
Регистрация: 01.05.2009
Сообщений: 127
#1

Задача с массивом - C++

26.07.2009, 20:09. Просмотров 897. Ответов 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 были напечатаны все в разном порядке,но не повторялись???...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2009, 20:09     Задача с массивом
Посмотрите здесь:

C++ Задача с массивом.
C++ Задача с массивом
C++ C++ задача с массивом
Задача с массивом. Создать. Заполнить (Рандомно). Сделать инверсию! C++
Задача с массивом C++
Задача с массивом (найти максимальный парный элемент в каждой строке массива) C++
C++ Задача с массивом, нужно найти сумму элементов которые находятся перед последним отрицательным элементом
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
26.07.2009, 20:13     Задача с массивом #2
функция ранд и разброс от 0 до 10
Alik-Soldier
9 / 9 / 0
Регистрация: 01.05.2009
Сообщений: 127
26.07.2009, 20:15  [ТС]     Задача с массивом #3
Да знаю я функцию ранд...Делал...Надо чтобы все числа от 1 до 10 были,и не повторялись никак,я же написал...А в ранде такой шанс 1 из 10...Если не меньше
ISergey
Maniac
Эксперт С++
1346 / 879 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 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.http://www.cyberforum.ru/cpp-beginners/thread44753.html

std::random_shuffle
zim22
depict1
276 / 141 / 2
Регистрация: 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;
}
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
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;
если не ошибаюсь ранд находится в виноусе
ISergey
Maniac
Эксперт С++
1346 / 879 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
26.07.2009, 21:18     Задача с массивом #7
Цитата Сообщение от @lex Посмотреть сообщение
если не ошибаюсь ранд находится в виноусе
ошибаешься. он находится в stdlib.h
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
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;
Alik-Soldier
9 / 9 / 0
Регистрация: 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;
А разве так повторяться не будет???по моему будет
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
26.07.2009, 21:30     Задача с массивом #10
Да знаю я функцию ранд...Делал...Надо чтобы все числа от 1 до 10 были,и не повторялись никак,я же написал...А в ранде такой шанс 1 из 10...Если не меньше
Если повторится запустить еще раз rand для того индекса где повторилось
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
26.07.2009, 21:37     Задача с массивом #11
Цитата Сообщение от Alik-Soldier Посмотреть сообщение
А разве так повторяться не будет???по моему будет
нет.Код
srand((unsigned)time(NULL));
для этого и нужен.

Добавлено через 1 минуту 6 секунд
Alik-Soldier,у тебя что рядом компилятора нету что ли?Попробуй мой код
mirso
524 / 342 / 17
Регистрация: 05.04.2009
Сообщений: 709
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;
}
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
26.07.2009, 21:59     Задача с массивом #13
Alik-Soldier, а вообще, о случайных числах можешь почитать тут.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2009, 22:05     Задача с массивом
Еще ссылки по теме:

C++ задача с 2х мерным массивом
C++ Массивом и динамическим массивом
Задача с массивом C++
C++ Задача с указателем-массивом
Задача на функцию с массивом, пишет ошибку C++

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

Или воспользуйтесь поиском по форуму:
odip
Эксперт С++
7153 / 3293 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
26.07.2009, 22:05     Задача с массивом #14
Читаем FAQ в данном разделе и не задаем одни и те же вопросы.
Yandex
Объявления
26.07.2009, 22:05     Задача с массивом
Закрытая тема Создать тему
Опции темы

Текущее время: 04:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru