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

Случайные значения для разных объектов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Конвертер валют http://www.cyberforum.ru/cpp-beginners/thread165259.html
1.Напишите программу “Конвертер валют”. Программа должна позволять пересчитывать сумму, выраженную в одной из денежных единиц (гривны, рубли, доллары, евро) в любую из оставшихся. Систему меню реализовать без использования операторов if и switch при помощи массива указателей на функции. Вопрос:Какова формула конвертации валют?
C++ Классы, конструктор, сложение двух матриц Здравствуйте вот код: #include "stdafx.h" #include "iostream" using namespace std; class Matrix { http://www.cyberforum.ru/cpp-beginners/thread165246.html
C++ Выделение дробной части из числа
Дано число, например, х=124,556 нужно найти его целую и дробную части, чтобы получилось так: int a(целая),b(дробная) а=124 b=556 С целой частью проблем нет, а вот как получить дробную часть я не знаю Помогите, пожалуйста
размер vector'a C++
как узнать размер двумерного вектора отдельно по вертикали и горизонтали
C++ В массиве найти количество элементов меньше 0,3 http://www.cyberforum.ru/cpp-beginners/thread165191.html
1)В массиве t(n),где n- заданное число, сформированном случайном образом, найти количество элементов меньше 0,3 2)В массив произвольного размера внесена сумма месячного заработка в порядке возрастания табельного номера. Найти количество работающих, чья зарплата ниже средней и количество работающих, чья зарплата выше средней. 3)Вычислить функцию y=0,5x +sin2x на отрезке с шагом h пи/2. На...
C++ Подсчитать количество слов и определить и вывести на экран максимальное и минимальное слова и их длину. Помогите сделать программу, нужно чтоб была хотя бы одна подпрограмма. Желательно на СИ. Подсчитать количество слов и определить и вывести на экран максимальное и минимальное слова и их длину. подробнее

Показать сообщение отдельно
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
13.09.2010, 20:38  [ТС]     Случайные значения для разных объектов
Привет всем. Я тут помучался и написал таки функцию которая генерирует неповторяющиеся
координаты для поля 10х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
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
#include <iostream>
#include <ctime>
using namespace std;
 
class Battleship
{
int X; int Y;
public:
    void SetCoords(int *Arr, int *XYarr);
    int GetCoordX();
    int GetCoordY();
};
 
int Battleship::GetCoordX() {return X;}
int Battleship::GetCoordY() {return Y;}
 
void Battleship::SetCoords(int *Arr, int *XYarr)
{ 
    int cols = 10; // кол-во колонок в Arr[100]
int Index = rand() % 10;
X = XYarr[Index];
Index = rand() % 10;
Y = XYarr[Index];
 
int plus = 1;
    while(*(Arr + X*cols + Y + plus) == 0)
    {
    if(X == 10 && Y == 10) // если последний элемент массива и равен 0 ,двигай назад.
        plus -= 1;
    else
        plus += 1;         // если равен 0 значит координаты использовались,
    }                        // перейди к следующему элементу.
 
      *(Arr + X*cols + Y + plus) = 0; // адрес в массиве ,совпадающий с этими координатами
                                   // содержит 0 - значит больше не использовать.
 
}
 
int main()
{
    srand(time(NULL));
Battleship ship1;
Battleship ship2;
Battleship ship3;
Battleship ship4;
//*********************************************************
    int* Arr;
    Arr = new int[100]; // вместо двумерного массива 10x10
    for(int i = 0;i < 100;i++)
        Arr[i] = i + 1;
    int* XYarr;
    XYarr = new int[10]; // 10 неповторяющихся чисел от  до 10.
    for(int i = 0;i < 10;i++) 
        XYarr[i] = i + 1;
    //*******************************************************
    ship1.SetCoords(Arr, XYarr);
    ship2.SetCoords(Arr, XYarr);
    ship3.SetCoords(Arr, XYarr);
    ship4.SetCoords(Arr, XYarr);
          cout << "X =  " << ship1.GetCoordX() << "  Y =  " << ship1.GetCoordY() << endl;
          cout << "X =  " << ship2.GetCoordX() << "  Y =  " << ship2.GetCoordY() << endl;
          cout << "X =  " << ship3.GetCoordX() << "  Y =  " << ship3.GetCoordY() << endl;
          cout << "X =  " << ship4.GetCoordX() << "  Y =  " << ship4.GetCoordY() << endl;
 
        system("pause");
}
 
Текущее время: 09:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru