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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 5.00
Олeчка
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
#1

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

23.12.2010, 18:47. Просмотров 1055. Ответов 11
Метки нет (Все метки)

Завтра нужно сдавать лабораторную работу, ребят помогите пожалуйста... Я не сильно сильна в с++, как нибудь попроще.

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

Добавлено через 14 минут
Ребята ауууу, пожалуйста помогите, завтра край сдавать((((
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2010, 18:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сформировать двумерный массив. (C++):

Дан двумерный массив размерностью 4*5. Сформировать одномерный массив - C++
Дан двумерный массив размерностью 4*5, заполненный целыми числами с клавиатуры. Сформировать одномерный массив каждый элемент которого...

Дан двумерный массив. Сформировать одномерный массив из элементов заданного массива, расположенных под побочной диагональю. - C++
Дан двумерный массив размером n x n. Сформировать: Одномерный массив из элементов заданного массива, расположенных под побочной...

Дан двумерный массив размерностью Н. сформировать одномерный массив из элементов заданного массива расположенных над главной диагональю. - C++
помогите решить=)Дан двумерный массив размерностью Н. сформировать одномерный массив из элементов заданного массива расположенных над ...

Двумерный массив. Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца - C++
Дан двумерный массив, целых чисел. Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего...

Сформировать двумерный массив A(n*m) - C++
Сформировать двумерный массив A(n*m) при помощи считывания значений элементов массива из файла. n=7; m=7 Найти скалярное произведение...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 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();
}
0
Олeчка
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
23.12.2010, 21:20  [ТС] #3
Как я поняла нужно введенную строку опустить ниже а на место той которую указываем вставить строку рендомно, а со столбцом поступить так же

Добавлено через 1 минуту
Помогите пожалуйста сегодня.
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 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();
}
0
Ол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];
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
24.12.2010, 00:08 #6
может в компиляторе дело у меня dev-c++ мы же эти данные col, row с клавиатуры вводим и на них ранее массив создаётся почему он его пропускает
0
Олeчка
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
24.12.2010, 00:24  [ТС] #7
А как это можно подправить что бы программа запустилась?
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 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();
}
1
Олeчка
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
24.12.2010, 13:04  [ТС] #9
Спасибо огромное, я чуть чуть передалала и у меня запустилось, может кому нибудь пригодится:
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
24.12.2010, 14:30 #10
а в чем хоть причина была?
0
Олeчка
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
29.12.2010, 13:36  [ТС] #11
Как вы написали во втором варианте, так запустилось.
0
MILAN
885 / 779 / 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;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2010, 13:39
Привет! Вот еще темы с ответами:

сформировать двумерный массив - C++
сформировать двумерный массив по такому правилу 12345 51234 45123 34512 23451

Сформировать двумерный массив по условию - C++
1)Сформировать двумерный массив: 1 2 3 4 5 ...

Как сформировать двумерный массив? - C++
Сформировать двумерный массив на языке С++: 1 2 3 4 5 ...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.12.2010, 13:39
Ответ Создать тему
Опции темы

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