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

Проблему с двумерным динамическим массивов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Одновременная реализация константного и неконстантного оператора [] в классе string http://www.cyberforum.ru/cpp-beginners/thread50644.html
Вобщем, проблема в следующем: нужно реализовать обращение по индексу в классе string двумя вариантами оператора : константный (для чтения) и возвращающий char& для изменения. Со вторым оператором я вроде разобрался. А вот как первый реализовать, и ,чтобы, когда надо было прочитать, включался первый оператор?. Я смог добиться написания обоих - т.е. компилятор не ругается, что у двух методов...
C++ Как скомпилировать исходник Gromacs на Windows Приветствую участников форума! :) Я здесь новичек, поэтому прошу строго не судить. Суть моей проблемы заключается в том что я не знаю с чего начать компиляцию исходника программы Gromacs (на Windows XP 32-bit). Просьба также подсказать каким компилятором лучше пользоваться для начинающего... (В наличие есть Dev-C++, Microsoft Visual C++ 6.0). Заранее благодарю за ответы... http://www.cyberforum.ru/cpp-beginners/thread50640.html
C++ Помогите написать класс
Прива всем. Помогите написать лабу!!!! Тема:Классы Задание: Создать класс который содержит два поля типа int и два поля действительного типа. Описать инткрфейс который должен содержать: 1) Конструктор; 2) Функцию для получения значений всех полей. 3) Конструктор и методы для получения значений полей типа int описать в средине класса, методы для получения значений типа float за пределами...
C++ Генератор случайных чисел random()
Здраствуйте! Подскажите, пожалуйста, как сделать вывод случайных чисел в этой программе: #include <iostream> using namespace std; float massive; int main() {
C++ Подскажите пожалуйста!!! http://www.cyberforum.ru/cpp-beginners/thread50602.html
Написал код на dev-c++ и на коде написал по русски например: "Введите число: " потом компилировал ошибок не было, но там по русски "Введите число: " не вышло что-то неразборчивое!!!!! Может кто знает можно ли по русски выводит слова?? (P.S Я попробовал написать слово по английски все отлично работает, не понимаю...)
C++ Вывести на экран элементы вещественного массива Вывести на экран элементы вещественного массива Y и их порядковые номера, при соблюдении следующего условия 0< i <1.(Под i подразумевается какой-либо элемент массива.) подробнее

Показать сообщение отдельно
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
13.09.2009, 12:48
Случайные числа
Вот решение
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include <iostream.h>
#include <stdlib.h> 
#include <conio.h>
using namespace std;
void EnterArray(int **, int, int);
void Vvod(int *, int);
void reshenie(int**, int* , int, int);
void  Vyvod1(int **, int  ,int );
void Vyvod2(int *, int );
int main()
{
    int N, M, i;
    while (true)
    {
        cout << "Vvedite kolvo strok (N):";
        cin >> N;
        cout << "Vvedite kolvo stolbcob (M):";
        cin >> M;
        if (N!=0 && M!=0)
            break;
        cout << "Nekorrectnie dannie, porobuyte esto!\n";
    }
    cout <<"\n\tIshodniy massiv A\n";
    int **A=new int* [N];
    for(i=0; i<N; i++)
        A[i]=new int [M+1];
    EnterArray(A, N, M);
    Vyvod1(A, N, M);
    cout << "\n\tIshodniy massiv B\n";
    int *B=new int [N];
    Vvod(B, N);
    Vyvod2(B, N);
    cout <<"Noviy massiv chisel \n";
    reshenie(A, B, N, M);
    Vyvod1(A, N, M+1);
    cout<<endl;
    for(i=0; i<N; ++i)
        delete []A[i];
    delete []A;
    delete []B;
    system("pause");
    return 0;
}
void EnterArray(int **A, int N, int M)
{
    int z;
    cout<<"Viberete sposob vvoda 1-sluchaynie, 0-consol:";
    cin >> z;
    if (z==1)
        for(int i = 0; i < N ; i++)
            for(int j = 0; j <M ; j++)
                A[i][j] =random(100);
    else
    {
        cout <<" Vvedite massiv chisel \n";
        for(int i=0; i<N; i++)
            for (int j = 0; j < M; j++)
            {
                cout << "A[" << i << "][" << j << "]=";
                cin >> A[i][j];
            }
 
    }
}
void  Vvod(int*B, int N)
{
    int z;
    cout<<"Viberete sposob vvoda 1-sluchaynie, 0-consol:";
    cin >> z;
    if (z==1)
        for(int i = 0; i < N; i++)
            B[i] = random(100);
    else
    {
        cout <<" Vvedite massiv chisel \n";
        for(int i=0; i<N; i++)
            cin >>B[i];
    }
}
void reshenie(int**A, int* B, int N, int M)
{
    int flagg=0;
    for(int j=M-1; j >= 0;  j--)
    { 
        int flag=0;
        for(int i = 0; i<N;  i++)
            if (A[i][j]==0)
            {
                flag=1;
                break;
            }
            if (flag)
            {
                for(int k=0; k<M-j ;k++)
                    for(int l= 0; l < N ; l++)
                        A[l][M-k]=A[l][M-k-1];
                for(int k=0; k<N; k++)
                    A[k][j]=B[k];
                flagg=1;
                break;
            }
    }
    if (flagg==0)
        for(int k=0; k<N; k++)
            A[k][M]=B[k];
}
void  Vyvod1(int **A, int N,int M)
{
    for(int i=0; i<N; i++)
        for (int j = 0; j < M; j++)
        {
            cout.width(6);
            cout << A[i][j];
        }
        cout << endl;
}
void Vyvod2(int *B, int N)
{
    for(int i=0; i<N; i++)
    {
        cout.width(6);
        cout << B[i] << ' ';
        cout <<endl;
    }
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru