Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Мида
0 / 0 / 0
Регистрация: 27.01.2012
Сообщений: 13
#1

Как вставить в двумерный массив "1" случайным образом? - C++

04.02.2012, 00:27. Просмотров 861. Ответов 14
Метки нет (Все метки)

В двумерный массив определенного диапазона (рандомная формула не проблема) нужно вставить число 1, причем случайным образом. Есть ли какая-то специальная формула, или после создания массива, таким же образом "влепить" в него 1 ? Что-то не могу понять.....
Пы.сы. под формулой имеется ввиду rand()%(min-max+1)+min...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2012, 00:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как вставить в двумерный массив "1" случайным образом? (C++):

Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками, первый элемент которых делится на3,вставить.... - C++
Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками, первый элемент которых делится на 3,...

Заполнить двумерный динамический массив случайным образом - C++
Написать функции для работы с двумерным динамическим массивом: - создать массив указанного размера(строки, столбцы) - заполнить...

Случайным образом заполнить двумерный массив (с++ помогите) - C++
Случайным образом заполнить двумерный массив. Каждую строку упорядочить по возрастанию и сохранить получившийся массив в файл.

Дан двумерный массив размером nxm, заполненный случайным образом - C++
23. Дан двумерный массив размером nхm, заполненный случайным образом. Определить, есть ли в данном массиве строка, в которой ровно два...

Дан двумерный массив размером 5х6, заполненный случайным образом - C++
Дан двумерный массив размером 5х6, заполненный случайным образом. Заменить максимальный элемент каждой строки на противоположный по знаку

Заполнить двумерный массив расположив заданное количество единиц случайным образом - C++
Ребята , nомогите додумать , есть двумерный динамический массив , заnолняется рандомно цыфрами 0 и 1 , в чем суть. nользователь вводит ,...

14
MrCold
856 / 754 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
04.02.2012, 01:09 #2
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
#include <iostream>
#include <time.h>
#include <conio.h>
#define N 5
#define M 5
 
int main(){
    int arr[N][M];
int i, j;
srand(time(NULL));
 
    for(i = 0; i < N;i++){
       for(j = 0; j < M;j++){
        arr[i][j]= rand()% 100 + 10;// ZAPOLNYAEM MASSIV
       }}
  int val = rand()% 9 + 1;
 
 
     
    for(i = 0; i < N;i++){
        for(j = 0; j < M;j++){
       if(i == val)
        arr[i][j] + 1;      /////////////////////
        }}
    _getch();
    return 0;
}
1
Мида
0 / 0 / 0
Регистрация: 27.01.2012
Сообщений: 13
04.02.2012, 01:22  [ТС] #3
C++
1
int val = rand()% 9 + 1;
//это мы ловим место \той единицы?
и чуть ниже:
C++
1
arr[i][j] + 1;
??? можете объяснить почему так?
0
MrCold
856 / 754 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
04.02.2012, 01:27 #4
break; не дописал !

C++
1
2
3
4
  if(i == val)
        arr[i][j] + 1;break;      /////////////////////
                }}
        _getch();
0
Мида
0 / 0 / 0
Регистрация: 27.01.2012
Сообщений: 13
04.02.2012, 01:30  [ТС] #5
ага... теперь понятнее)))
спасибо))))))
0
MrCold
856 / 754 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
04.02.2012, 02:14 #6
Мы ловим случайное число val. Если оно равно номеру строки прибавляем к массиву единицу.

Добавлено через 44 минуты
Еще хотел добавить что наше рандомное число не может быть больше числа строк массива,
т.е. val = rand()% (число строк) + 1;
Так будет правильнее.
1
NoMasters
Псевдослучайный
1764 / 1107 / 73
Регистрация: 13.09.2011
Сообщений: 3,148
04.02.2012, 02:21 #7
MrCold, может быть ты имел в виду += всё-таки?
0
Мида
0 / 0 / 0
Регистрация: 27.01.2012
Сообщений: 13
04.02.2012, 02:30  [ТС] #8
Спасибо огромное))сейчас попробую)
вроде въехала.
А где можно почитать что-то по этому поводу? Или Вы сами додумались?

Добавлено через 1 минуту
NoMasters? что Вы имеете ввиду?
0
NoMasters
Псевдослучайный
1764 / 1107 / 73
Регистрация: 13.09.2011
Сообщений: 3,148
04.02.2012, 02:33 #9
Я имею в виду, что выражение
C++
1
arr[i][j] + 1;
Имеет мало смысла, т.к. его результат никуда не записывается.
2
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
04.02.2012, 02:39 #10
ещё вариантик
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
int main()
{
        const int row = 5;
        const int column = 10;
        int m[row][column] = {0};
 
        srand(time(NULL));
 
        m[rand() % row][rand() % column] = 1;
 
        for(int i = 0; i < row; i++)
        {
                for(int j = 0; j < column; j++)
                        std::cout << std::setw(3) << m[i][j];
 
                std::cout << std::endl;
        }
 
        return 0;
}
1
MrCold
856 / 754 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
04.02.2012, 02:40 #11
NoMasters, правильно ,правильно! Ты прав! Отвлекаюсь .


arr[i][j] += 1;
0
Мида
0 / 0 / 0
Регистрация: 27.01.2012
Сообщений: 13
04.02.2012, 02:41  [ТС] #12
оо)) поспать мне сегодня не придётся!)))
0
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
04.02.2012, 02:46 #13
Мида, что-то непонятно?
0
Мида
0 / 0 / 0
Регистрация: 27.01.2012
Сообщений: 13
04.02.2012, 02:59  [ТС] #14
Я хоть и начинающая в этой сфере, но всё понятно, пасибки). Буду издеваться над обоими вариантами ( там в задании ещё длинное продолжение перемещений этой единицы....)
Вот где только эти рандомные формулы берутся?? неужели народ сам творит?
0
Мида
0 / 0 / 0
Регистрация: 27.01.2012
Сообщений: 13
05.02.2012, 13:03  [ТС] #15
Вот ещё вариантец нарисовался, может пригодится кому...
//Заполнить массив A[y][x] случайными числами от 2 до 9, поставить цифру 1 в произвольном месте

//
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 "stdafx.h"
#include <iostream>
#include <time.h>
#include <conio.h>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
 const int x=20;
 const int y=20;
 int randPosX, randPosY, posX, posY, t=clock(),ch,temp;
 bool b=true;
 int A[y][x], tempA[y][x];
 
 setlocale(LC_ALL, "rus");
 
 srand(time(0));
 
 //Заполняем массив A[y][x] случайными числами от 2 до 9
 for(int i=0;i<y;i++)
 {
  for(int j=0;j<x;j++)
  {
   A[i][j]=2+rand()%8;
  }
 }
 
 //В случайной позиции вставляем 1
 randPosX=rand()%20;
 randPosY=rand()%20;
 A[randPosY][randPosX]=1;
 
 
 //Выводим массив на экран
 for(int i=0;i<y;i++)
 {
  for(int j=0;j<x;j++)
  {
   cout<<A[i][j]<<" ";
  }
  cout<<endl;
 }
 
 //Ищем координаты единицы в массиве и выводим их на экран
 for(int i=0;i<y;i++)
 {
  for(int j=0;j<x;j++)
  {
   if(1==A[i][j])
   {
    posX=j;
    posY=i;
   }
  }
 }
 cout<<endl<<"Единица находится в "<<posY+1<<"-й строке, "<<posX+1<<"-м столбце."<<endl;
 
 return 0;
}
0
05.02.2012, 13:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2012, 13:03
Привет! Вот еще темы с ответами:

Создать двумерный массив, каждый элемент которого задается случайным образом - C++
Если вкратце, нужно создать двумерный массив, каждый элемент которого задается случайным образом. Вот моя программа: #include...

По запрашиваемому количеству строк и столбцов нужно сформировать случайным образом двумерный массив - C++
Помогите пожалуйста. По запрашиваемому количеству строк и столбцов нужно сформировать случайным образом двумерный массив, подсчитываем...

Двумерный массив: Добавить методы "ДайЗначениеЯчейки", "УстановиЗначениеЯчейки" - C++
Нужно добавить методы ДайЗначениеЯчейки(индексРяда, индексКолонки), УстановиЗначениеЯчейки(индексРяда, индексКолонки, значение). ...

Случайным образом заполнить двумерный массив фиксированного размера целыми числами в заданном диапазоне - C++
Кто знает как решить задачу на С++, при помощи двумерного массива? Написать программу, которая случайным образом заполняет двумерный ...


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

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

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