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

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

Войти
Регистрация
Восстановить пароль
 
 
N.Kavt
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 19
#1

Почему не полностью выводится массив? - C++

15.02.2012, 21:17. Просмотров 1032. Ответов 20
Метки нет (Все метки)

Массив MyY не полностью выводится. В чем может быть проблема? Заранее спасибо.

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
const n2max=5;
const n1max=10;
class cl1
{
int n1,n2;
int M[n1max][n2max];
public:
 
cl1(int size1,int size2)
{
if (n1>0||n1<n1max) n1=size1;
else n1=n1max;
if (n2>0||n2<n2max) n2=size2;
else n2=n2max;
}
 
void myinp()
{
randomize;
int i,j;
for(i=0;i<n1;i++){
for(j=0;j<n2;j++){
*(M[i]+j)=random(100);
}
}
}
 
 
 
 
void myout()
{
int i,j,x,y;
cout<<"The Matrix:";
for(i=0,y=4;i<n1;i++,y++){
for(j=0,x=1;j<n2;j++,x+=5){
gotoxy(x,y);
cout<<M[i][j];
}
}
}
 
void MyX(){
int *X,*Y,l1,l2,k;
l1=n1;
l2=n2;
k=l1*l2;
for (int j=0;j<l2;j++){
for (int i=1;i<=k;i++){
X[i+l2*j]=i;
}}
cout<<endl<<endl<<endl<<endl;
for(int i=1;i<=k;i++)
cout<<X[i]<<"   ";
}
 
 
 
void MyY(){
int *Y,l1,l2,k;
l1=n1;
l2=n2;
k=l1*l2;
for (int j=0;j<l2;j++){
for (int i=1;i<=k;i++){
Y[i+l2*j]=j+1;
}}
cout<<endl<<endl<<endl<<endl;
for(int i=1;i<=k;i++)
cout<<Y[i]<<"   ";
}
};
int main()
{
int k1,k2;
cout<<"Input N strok: ";
cin>>k1;
cout<<"Input N stolbcov: ";
cin>>k2;
cl1 objA(k1,k2);
objA.myinp();
objA.myout();
objA.MyX();
objA.MyY();
getch();
return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2012, 21:17     Почему не полностью выводится массив?
Посмотрите здесь:
Не соображу почему не выводится массив C++
C++ Почему неправильно выводится массив?
Почему выводится весь массив C++
Почему матрица выводится как обычный массив C++
C++ Почему при выводе в поток char* выводится весь массив символов?
C++ Почему выводится в виде таблицы и почему не работает сортировка
C++ Почему выводится ноль?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
15.02.2012, 22:49     Почему не полностью выводится массив? #16
Тогда идем дальше:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void MyX(){
 int *X,*Y,l1,l2,k;// здесь созданы два указателя на int - X и Y
 l1=n1;
 l2=n2;
 k=l1*l2;
 for (int j=0;j<l2;j++){
 for (int i=1;i<=k;i++){
 X[i+l2*j]=i;// здесь указатель используется как массив (явно до этого пропустили создание динамического массива)
 }}
 cout<<endl<<endl<<endl<<endl;
 for(int i=1;i<=k;i++)
 cout<<X[i]<<" ";
 }
Я могу только догадываться, но что вообще должна делать функция void MyX() ?
N.Kavt
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 19
15.02.2012, 22:59  [ТС]     Почему не полностью выводится массив? #17
В Void MyX я хотел каждому элементу матрицы присвоить свои значения координаты x на плоскости. В Void MyY соответственно свои игрики...
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
15.02.2012, 23:06     Почему не полностью выводится массив? #18
Ну создали бы тогда рядышком с созданием массива: int M[n1max][n2max]; еще два массива X[n1max][n2max], Y[n1max][n2max].
А координаты на плоскости связаны как-то с номером строки и столбца, в которых расположен элемент массива?
N.Kavt
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 19
15.02.2012, 23:11  [ТС]     Почему не полностью выводится массив? #19
да, номер строки - у, столбца - х...
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
15.02.2012, 23:25     Почему не полностью выводится массив? #20
Цитата Сообщение от N.Kavt Посмотреть сообщение
да, номер строки - у, столбца - х...
Тогда заполнение можно сделать так:
C++
1
2
3
4
5
6
void MyX(){
    int i,j;
 for(i=0;i<n1;i++)
     for(j=0;j<n2;j++)
         X[i][j]=i;
 }
по аналогии void MyY()
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2012, 23:30     Почему не полностью выводится массив?
Еще ссылки по теме:
C++ Почему полностью не считывает текстовый файл?
Почему выводится неправильный год? C++
Почему вместо 2 выводится белеберда? C++
Почему выводится разный результат? C++
C++ Почему выводится пустая очередь?

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

Или воспользуйтесь поиском по форуму:
N.Kavt
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 19
15.02.2012, 23:30  [ТС]     Почему не полностью выводится массив? #21
Огромное спасибо за помощь!!!
Yandex
Объявления
15.02.2012, 23:30     Почему не полностью выводится массив?
Ответ Создать тему
Опции темы

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