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

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

Войти
Регистрация
Восстановить пароль
 
SY
0 / 0 / 0
Регистрация: 03.11.2010
Сообщений: 42
#1

Исправте пожалуйста ошибку - C++

11.04.2011, 21:01. Просмотров 302. Ответов 5
Метки нет (Все метки)

Нжно в двовымерный массив добавить в начало К строк.

Весь код:
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
// regre.cpp : main project file.
 
#include "stdafx.h"
#include "iostream"
#include "cmath"
#include <stdlib.h>
 
using namespace std;
 
int** form_matr(int n,int m);
void perestanovka( int n, int m, int **a, int **c,int k);
void vvod1(int n,int m,int  **a);
void vvod2(int n,int m,int  **a);
void vvod3(int n,int m,int **a);
void vivod(int n,int m,int  **a);
int mas[2][3]={(3,6,5),(-1,0,77)};
 
int main(array<System::String ^> ^args)
{
    short int m,n;
    cout << "n=";
    cin >> n;
    cout << "m=";
    cin >> m;
    int **a=new int*[n];
    for(int i=0;i<n;i++)
        a[i]=new int [m];
    cout<<"Viberit tip vvedenya massivu:"<<"\n"<<"1-Z klaviaturi"<<"\n"<<"2-Auto"<<"\n"<<"3-Const"<<"\n";
    int q;
    q=1;
    cin>>q;
    if (q==1) {
        vvod1(n,m,a);}
    else {
        if (q==2) {
            vvod2(n,m,a);}
        else {
            vvod3(n,m,a);
        };
    };
    vivod(n,m,a);
    cout<<"\n";
    short int k;
    cout << "k=";
    cin >> k;
    int **c=new int*[k];
    for(int i=0;i<k;i++)
        c[i]=new int [m];
    cout<<"Viberit tip vvedenya massivu:"<<"\n"<<"1-Z klaviaturi"<<"\n"<<"2-Auto"<<"\n"<<"3-Const"<<"\n";
    short int w;
    w=1;
    cin>>w;
    if (w==1) {
        vvod1(k,m,c);}
    else {
        if (w==2) {
            vvod2(k,m,c);}
        else {
            vvod3(k,m,c);
        };
    };
    vivod(k,m,c);
    cout<<"\n";
    a=new int*[n+k];
    for(int i=0;i<n;i++)
        a[i]=new int [m];
    system("pause");
    perestanovka(n,m,a,c,k);
    vivod(k,m,c);
    cout<<"\n";
   system("pause");
    return 0;
}
 
void vvod1(int n,int m,int  **a) {
    for(int i=0;i<n;i++) 
        for(int j=0;j<m;j++){
        cout<<"a["<<i<<"]=";
        cin>>a[i][j];
    }
}
void vvod2(int n,int m,int  **a) {
 
    for(int i=0;i<n;i++) 
        for(int j=0;j<m;j++) 
        a[i][j]=rand()%50;
}
void vvod3(int n,int m,int  **a) {
 
    for(int i=0;i<n;i++) 
        for(int j=0;j<m;j++) {
        a[i][j]=mas[i][j];
        }
}
void vivod(int n,int m,int **a) {
    for(int i=0; i<n; i++) {
        cout << endl;
        for(int j=0;j<m;j++) 
        cout << a[i][j] << " ";
    }
}
 
void perestanovka( int n, int m, int **a, int **c,int k) {
    for(int i=0;i<n;n--){
        for(int j=0;j<m;m--) {
            a[k+n][m]=a[n][m];
        }
    }
    for(int i=0;i<k;i++)
        for(int j=0;j<m;j++)
            a[i][j]=c[i][j];
}
Там где пишет ошибку:
C++
1
2
3
4
5
6
7
8
9
10
void perestanovka( int n, int m, int **a, int **c,int k) {
    for(int i=0;i<n;n--){
        for(int j=0;j<m;m--) {
            a[k+n][m]=a[n][m];
        }
    }
    for(int i=0;i<k;i++)
        for(int j=0;j<m;j++)
            a[i][j]=c[i][j];
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2011, 21:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Исправте пожалуйста ошибку (C++):

Исправте пожалуйста ошибку в работа по файлам. - C++
Вот условие и код.Не могу доделать до ума.... 1.Написать программу формирования ведомости об успеваемости студентов. Каждая запись этой...

Исправте ошибку - C++
#include &lt;conio.h&gt; #include &lt;iostream.h&gt; long fact (int n) { if (n==0) return 1; else return fact(n-1)*n; ...

Исправте ошибку. - C++
Дана программа: но программа борланд С++ пишет что найдена ошибка в 46 рядке, и я хз как эту ошибку исправить(( #include&lt;iostream.h&gt; ...

исправте ошибки пожалуйста - C++
Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет сумму его элементов по столбцам

Исправте ошибки, Пожалуйста!) - C++
нужно исправить код..помогите)) // перкуквр.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; ...

Просто исправте ошибку - C++
//---------------------------------------------------------------------------- #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include...

5
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 340
11.04.2011, 21:11 #2
Цитата Сообщение от SY Посмотреть сообщение
Нжно в двовымерный массив добавить в начало К строк.

Не по теме:

это что такое?

0
SY
0 / 0 / 0
Регистрация: 03.11.2010
Сообщений: 42
11.04.2011, 21:14  [ТС] #3
Задание. Добавить К строк в начало матрицы.
0
vitaska
86 / 86 / 2
Регистрация: 04.02.2010
Сообщений: 162
11.04.2011, 21:28 #4
1. чем заполнятся будут новые поля матрицы?
2. память выделенная по new дожна быть обязательно освобождена с помощью delete [], у вас этого нет, что не хорошо!
1
SY
0 / 0 / 0
Регистрация: 03.11.2010
Сообщений: 42
11.04.2011, 21:31  [ТС] #5
1. Чем заполнять без разницы.
2.Я думал потом уже удаить, после окончание рооты.
0
vitaska
86 / 86 / 2
Регистрация: 04.02.2010
Сообщений: 162
11.04.2011, 21:49 #6
Цитата Сообщение от SY Посмотреть сообщение
1. Чем заполнять без разницы.
2.Я думал потом уже удаить, после окончание рооты.
просто добавить не проблема, а вот чем заполнить это вопрос, если ни чем, то там будем мусор.
как вариант можно внести -1.

1. создаете временную матрицу, в которой строк на К больше чем в исходной
2. заполняйте первые К строк значениями, например, -1.
3. с к+1 строки вторым циклом заполняете остаток матрицы данными из исходной матрицы.
4. освобождаете память под исходную матрицу.
6. отдаете адрес временной матрицы исходной.

вроде ничего не напутал

2.Я думал потом уже удаить, после окончание рооты.
как раз попозже можно легко забыть освободить память, а это бывает чревато, сами понимаете чем
0
11.04.2011, 21:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2011, 21:49
Привет! Вот еще темы с ответами:

Укажите на ошибку или исправте!!! - C++
Здраствуйте!! написал консольную программу которая захватывает написанную строку, потом проверяет её на наличие Больших и маленьких букв!!!...

Исправте ошибку программе с ++ в 6 версии визуал студио - C++
Незнаю как исправить для 6 версии, помогите! #include &lt;iostream.h&gt; #include &lt;conio.h&gt; using namespace std; int main() { ...

Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста - C++
Постановка задачи Для х, изменяющегося от a до b (интервал целиком лежит внутри интервала, указанного в третьей колонке) с шагом ,...

Добрый день! Исправте, пожалуйста. Дан листинг программы, где заданы два массива - C++
Здравствуйте! Помогите, пожалуйста. Дан листинг программы, где заданы два массива. Сделайте, пожалуйста, так, чтобы значения этих массивов...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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