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

Сформировать двумерный массив. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 5.00
Олeчка
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
23.12.2010, 18:47     Сформировать двумерный массив. #1
Завтра нужно сдавать лабораторную работу, ребят помогите пожалуйста... Я не сильно сильна в с++, как нибудь попроще.

Сформировать двумерный массив. Добавить в него строку и столбец с заданным номером.

Добавлено через 14 минут
Ребята ауууу, пожалуйста помогите, завтра край сдавать((((
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
23.12.2010, 20:06     Сформировать двумерный массив. #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
28
29
30
31
#include<iostream>
#include<conio.h>
#include<stdio.h>
using namespace std;
 
main()
{
    int row, col;
    cout<<"Vvedite chislo strok"<<endl;
    cin>>row;
    cout<<"Vvedite chislo stolbcov"<<endl;
    cin>>col;
    int **arr=new int*[row];
    for(int i=0;i<row;i++)arr[i]=new int[col];
    cout<<"Vvedite elementi massiva"<<endl;
    for(int i=0;i<row;i++){
        for(int j=0;j<col;j++){
            cout<<"arr[i][j]= ";;
            cin>>arr[i][j];
        }
        cout<<endl;
    }
    cout<<"Sozdan massiv\n"<<endl;
    for(int i=0;i<row;i++){
        for(int j=0;j<col;j++){
            cout<<arr[i][j]<<"  ";
        }
        cout<<endl;
    }
    getch();
}
Олeчка
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
23.12.2010, 21:20  [ТС]     Сформировать двумерный массив. #3
Как я поняла нужно введенную строку опустить ниже а на место той которую указываем вставить строку рендомно, а со столбцом поступить так же

Добавлено через 1 минуту
Помогите пожалуйста сегодня.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
23.12.2010, 22:36     Сформировать двумерный массив. #4
вроде работает
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
#include<iostream>
#include<conio.h>
#include<stdio.h>
using namespace std;
 
main()
{
    int row, col;
    cout<<"Vvedite chislo strok"<<endl;
    cin>>row;
    cout<<"Vvedite chislo stolbcov"<<endl;
    cin>>col;
    int **arr=new int*[row];
    for(int i=0;i<row;i++)arr[i]=new int[col];
    cout<<"Vvedite elementi massiva"<<endl;
    for(int i=0;i<row;i++){
        for(int j=0;j<col;j++){
            cout<<"arr[i][j]= ";;
            cin>>arr[i][j];
        }
        cout<<endl;
    }
    cout<<"Sozdan massiv\n"<<endl;
    for(int i=0;i<row;i++){
        for(int j=0;j<col;j++){
            cout<<arr[i][j]<<" ";
        }
      cout<<endl;
    }
    int row1, col1;
    int row2[col], col2[row+1];
    cout<<"VVedite index stroki"<<endl;
    cin>>row1;
    cout<<"\nVvedite stroky\n";
    for(int i=0;i<col;i++){
        cout<<"arr[i][j]= ";
        cin>>row2[i];
    }
    int**arr1=new int*[row+1];
    for(int i=0;i<row+1;i++)arr1[i]=new int[col];
    for(int i=0;i<row+1;i++){
        for(int j=0;j<col;j++){
            if(i==row1)     arr1[i][j]=row2[j];
            else if(i>row1) arr1[i][j]=arr[i-1][j];
            else arr1[i][j]=arr[i][j];
        }
    }
    cout<<"\nStroka dobavlena\n";
    for(int i=0;i<row+1;i++){
        for(int j=0;j<col;j++){
            cout<<arr1[i][j]<<" ";
        }
        cout<<endl;
    }
        for(int i=0;i<row;i++)delete[]arr[i];
        delete []arr;
        cout<<"Vvedite index stolbca\n";
        cin>>col1;
        cout<<"\nVvedite stolbec\n";
    for(int j=0;j<row+1;j++){
        cout<<"arr[j][i]= ";
        cin>>col2[j];
    }
    int**arr2=new int*[row+1];
    for(int i=0;i<row+1;i++)arr2[i]=new int[col+1];
    for(int j=0;j<col+1;j++){
        for(int i=0;i<row+1;i++){
            if(j==col1)     arr2[i][j]=col2[i];
            else if(j>col1) arr2[i][j]=arr1[i][j-1];
            else arr2[i][j]=arr1[i][j];
        }
    }
    cout<<"\nStolbec dobavlen\n";
    for(int i=0;i<row+1;i++){
        for(int j=0;j<col+1;j++){
            cout<<arr2[i][j]<<" ";
        }
        cout<<endl;
    }
    for(int i=0;i<row+1;i++)delete[]arr1[i];
    delete[]arr1;
    getch();
}
Олeчка
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
23.12.2010, 23:32  [ТС]     Сформировать двумерный массив. #5
Он выдает ошибку

1>100.cpp(33): error C2057: требуется константное выражение
1>100.cpp(33): error C2466: невозможно выделить память для массива постоянного нулевого размера
1>100.cpp(33): error C2133: row2: неизвестный размер
1>100.cpp(33): error C2057: требуется константное выражение
1>100.cpp(33): error C2466: невозможно выделить память для массива постоянного нулевого размера
1>100.cpp(33): error C2133: col2: неизвестный размер

Добавлено через 24 минуты
вот в этой строке


int row2[col], col2[row+1];
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
24.12.2010, 00:08     Сформировать двумерный массив. #6
может в компиляторе дело у меня dev-c++ мы же эти данные col, row с клавиатуры вводим и на них ранее массив создаётся почему он его пропускает
Олeчка
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
24.12.2010, 00:24  [ТС]     Сформировать двумерный массив. #7
А как это можно подправить что бы программа запустилась?
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
24.12.2010, 00:54     Сформировать двумерный массив. #8
а если так
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
#include<iostream>
#include<conio.h>
#include<stdio.h>
using namespace std;
 
main()
{
    int row=3, col=4;
    //cout<<"Vvedite chislo strok"<<endl;
    //cin>>row;
    //cout<<"Vvedite chislo stolbcov"<<endl;
    //cin>>col;
    int **arr=new int*[row];
    for(int i=0;i<row;i++)arr[i]=new int[col];
    cout<<"Vvedite elementi massiva"<<endl;
    for(int i=0;i<row;i++){
        for(int j=0;j<col;j++){
            cout<<"arr[i][j]= ";;
            cin>>arr[i][j];
        }
        cout<<endl;
    }
    cout<<"Sozdan massiv\n"<<endl;
    for(int i=0;i<row;i++){
        for(int j=0;j<col;j++){
            cout<<arr[i][j]<<" ";
        }
      cout<<endl;
    }
    int row1, col1;
    int row2[4]; 
    int col2[4];
    cout<<"VVedite index stroki"<<endl;
    cin>>row1;
    cout<<"\nVvedite stroky\n";
    for(int i=0;i<col;i++){
        cout<<"arr[i][j]= ";
        cin>>row2[i];
    }
    int**arr1=new int*[row+1];
    for(int i=0;i<row+1;i++)arr1[i]=new int[col];
    for(int i=0;i<row+1;i++){
        for(int j=0;j<col;j++){
            if(i==row1)     arr1[i][j]=row2[j];
            else if(i>row1) arr1[i][j]=arr[i-1][j];
            else arr1[i][j]=arr[i][j];
        }
    }
    cout<<"\nStroka dobavlena\n";
    for(int i=0;i<row+1;i++){
        for(int j=0;j<col;j++){
            cout<<arr1[i][j]<<" ";
        }
        cout<<endl;
    }
        for(int i=0;i<row;i++)delete[]arr[i];
        delete []arr;
        cout<<"Vvedite index stolbca\n";
        cin>>col1;
        cout<<"\nVvedite stolbec\n";
    for(int j=0;j<row+1;j++){
        cout<<"arr[j][i]= ";
        cin>>col2[j];
    }
    int**arr2=new int*[row+1];
    for(int i=0;i<row+1;i++)arr2[i]=new int[col+1];
    for(int j=0;j<col+1;j++){
        for(int i=0;i<row+1;i++){
            if(j==col1)     arr2[i][j]=col2[i];
            else if(j>col1) arr2[i][j]=arr1[i][j-1];
            else arr2[i][j]=arr1[i][j];
        }
    }
    cout<<"\nStolbec dobavlen\n";
    for(int i=0;i<row+1;i++){
        for(int j=0;j<col+1;j++){
            cout<<arr2[i][j]<<" ";
        }
        cout<<endl;
    }
    for(int i=0;i<row+1;i++)delete[]arr1[i];
    delete[]arr1;
    getch();
}
Олeчка
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
24.12.2010, 13:04  [ТС]     Сформировать двумерный массив. #9
Спасибо огромное, я чуть чуть передалала и у меня запустилось, может кому нибудь пригодится:
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
24.12.2010, 14:30     Сформировать двумерный массив. #10
а в чем хоть причина была?
Олeчка
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
29.12.2010, 13:36  [ТС]     Сформировать двумерный массив. #11
Как вы написали во втором варианте, так запустилось.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2010, 13:39     Сформировать двумерный массив.
Еще ссылки по теме:

C++ Сформировать двумерный массив
Сформировать двумерный массив по правилу C++
C++ Сформировать двумерный массив по образцу

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

Или воспользуйтесь поиском по форуму:
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
29.12.2010, 13:39     Сформировать двумерный массив. #12
Цитата Сообщение от igorrr37 Посмотреть сообщение
int row=3, col=4;
Может и в dev c++ и работает, но лутше делать так

C++
1
const int row=3,col=4;
Yandex
Объявления
29.12.2010, 13:39     Сформировать двумерный массив.
Ответ Создать тему
Опции темы

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