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

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

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

Подскажите как исправить ошибку. прога ломается на 79 строке. а ошибку не выдает - C++

29.09.2015, 22:47. Просмотров 200. Ответов 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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int chisla(int a,int b)
{
  srand(time(NULL));
  a=1+rand()%(50);
  b=1+rand()%(50);
  cout<<"The first number: "<<a<<endl;
  cout<<"The second number: "<<b<<endl;
  int sum;
  sum=a+b;
  cout<<"Sum of numbers:"<<sum<<endl;
  return 0;
}
void matrix(int **A, int **B)
     {
    A=new int*[3];
    B=new int*[3];
    for (int i=0;i<3;i++) {
            A[i]=new int[3];
            B[i]=new int[3];}
      srand(time(NULL));
       for (int i=0;i<3;i++)
                for (int j=0;j<3;j++){
                   A[i][j]=1+rand()%(50);//Случайное значение в очередную ячейку массива
                    B[i][j]=1+rand()%(50);}
      cout<<endl;
       for (int i=0;i<3;i++)
                for (int j=0;j<3;j++)
                 {
                 if (!(j%3)) cout<<endl; //Чтобы массив выглядел как массив
                  cout<<A[i][j]<<'\t'; //Табуляция символов
                 }
            cout<<endl;
        for (int i=0;i<3;i++)
                for (int j=0;j<3;j++)
                 {
                 if (!(j%3)) cout<<endl;
                  cout<<B[i][j]<<'\t';
                 }
        cout<<endl;
     }
void vect(int *v_1,int *v_2)
{
     v_1 = new int[3];// Выделение памяти для массива
     v_2 = new int[3];
     int *s = new int[3];
    srand(time(NULL));
    cout<<"First vector: ";
     for (int i = 0; i < 3; i++) {
        // Заполнение массива и вывод значений его элементов
        v_1[i]=1+rand()%50;
        v_2[i]=1+rand()%50;
        cout<<v_1[i]<<", ";}
    cout<<endl;
    cout<<"Second vector: ";
    for (int i=0;i<3;i++)
        cout<<v_2[i]<<", ";
    cout<<endl;
    cout<<"Sum of vectors: ";
    for (int i=0;i<3;i++){
        s[i]=v_1[i]+v_2[i];
        cout<<s[i]<<", ";}
}
 
void smatrix(int **A,int **B,int **C )
{
    matrix(A,B);
    C=new int*[3];
      for (int i=0;i<3;i++)
        C[i]=new int[3];
 
    for (int i=0; i<3; i++)
        for (int j=0; j<3; j++){
              C[i][j]=A[i][j]+B[i][j];
        }
    cout<<endl;
    cout<<"Sum of matrix";
       for (int i=0; i<3; i++)
                for (int j=0;j<3;j++)
                 {
                 if (!(j%3)) cout<<endl; //Чтобы массив выглядел как массив
                  cout<<C[i][j]<<'\t'; //Табуляция символов
                 }
        cout<<endl;
      for(int i=0;i<3;i++){
            delete []B[i];
            delete []A[i];
            delete []C[i];}
       delete []A;
       delete []B;
       delete []C;
    C=B=A=NULL;
}
int main()
{ int a,b;
  int *f,*g;
  int **A,**B,**C;
    chisla(a,b);
    vect(f,g);
    smatrix(A,B,C);
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2015, 22:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подскажите как исправить ошибку. прога ломается на 79 строке. а ошибку не выдает (C++):

Как исправить ошибку.подскажите пожалуйста. прога ломается на 79 строке - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int chisla(int a,int b) { ...

Выдает ошибку, как исправить её? - C++
//Подсчитать количество строк заданной целочисленной матрицы NxN, являющихся перестановкой чисел 1,2...N //( т.е. содержащих кадое из...

Выдает ошибку( undefined symbol display() in module, как исправить? - C++
#include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;ctype.h&gt; const...

Подскажите как исправить ошибку - C++
Здравствуйте! Подскажите, как исправить ошибку при выполнении программы: #include &lt;iostream&gt; #include &lt;stdarg.h&gt; using namespace std;...

Подскажите как исправить ошибку - C++
Мужики, программы пишу на Dev-C++ И при любой программе выдаёт ошибку,как исправить это?

подскажите как исправить ошибку - C++
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; #define eps 1.e-6 double f_ln( double, double ); void main() ...

5
Barrent
244 / 120 / 41
Регистрация: 04.05.2013
Сообщений: 346
Завершенные тесты: 2
29.09.2015, 22:57 #2
А зачем используется указатель на указатель на тип int?
И куда вы пишете элементы матриц в функции smatrix если память под них не выделена? Выделенная память в функции matrix вами используется только внутри этой функции.
0
ksiuy
0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 4
29.09.2015, 23:04  [ТС] #3
вот я тоже не понимаю) нам как-то так на паре объяснили.. и как исправить тоже не догадываюсь уже
0
Barrent
244 / 120 / 41
Регистрация: 04.05.2013
Сообщений: 346
Завершенные тесты: 2
29.09.2015, 23:07 #4
Тут проще заново написать, чем исправлять.
0
ksiuy
0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 4
29.09.2015, 23:10  [ТС] #5
Ааа:-) спасибо я переделала))

Добавлено через 1 минуту
перенесла все из matrix в smatrix
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
void smatrix(int **A,int **B,int **C )
{
 A=new int*[3];
    B=new int*[3];
    for (int i=0;i<3;i++) {
            A[i]=new int[3];
            B[i]=new int[3];}
      srand(time(NULL));
       for (int i=0;i<3;i++)
                for (int j=0;j<3;j++){
                   A[i][j]=1+rand()%(50);//Случайное значение в очередную ячейку массива
                    B[i][j]=1+rand()%(50);}
      cout<<endl;
       for (int i=0;i<3;i++)
                for (int j=0;j<3;j++)
                 {
                 if (!(j%3)) cout<<endl; //Чтобы массив выглядел как массив
                  cout<<A[i][j]<<'\t'; //Табуляция символов
                 }
            cout<<endl;
        for (int i=0;i<3;i++)
                for (int j=0;j<3;j++)
                 {
                 if (!(j%3)) cout<<endl;
                  cout<<B[i][j]<<'\t';
                 }
        cout<<endl;
    C=new int*[3];
      for (int i=0;i<3;i++)
        C[i]=new int[3];
    for (int i=0; i<3; i++)
        for (int j=0; j<3; j++){
             C[i][j]=A[i][j]+B[i][j];
        }
    cout<<endl;
    cout<<"Sum of matrix";
       for (int i=0; i<3; i++)
                for (int j=0;j<3;j++)
                 {
                 if (!(j%3)) cout<<endl; //Чтобы массив выглядел как массив
                  cout<<C[i][j]<<'\t'; //Табуляция символов
                 }
        cout<<endl;
      for(int i=0;i<3;i++){
            delete []B[i];
            delete []A[i];
            delete []C[i];}
       delete []A;
       delete []B;
       delete []C;
    C=B=A=NULL;
}
0
Barrent
244 / 120 / 41
Регистрация: 04.05.2013
Сообщений: 346
Завершенные тесты: 2
29.09.2015, 23:26 #6
Писать огромные полотна внутри функции - дурной тон. Разбейте программу на несколько независимых функций:
1) Генерация матрицы
2) Вывод матрицы в консоль
3) Суммирование матриц
и т.д.

Восприятие кода возрастет в разы
0
29.09.2015, 23:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2015, 23:26
Привет! Вот еще темы с ответами:

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

Подскажите, как исправить ошибку - C++
void crop(char *str) { while (*str) { char i = 'q'; if (*str == ' ') { *str = i; //ошибка здесь cout &lt;&lt; str &lt;&lt; '\n'; ...

Ребят, подскажите как исправить ошибку... - C++
не могу понять , много что перепробывал компилятор C++ builder codegear вот собственно сам код ...

Подскажите, как исправить 1 ошибку в программе? - C++
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; double min = 0; /* зовнiшня змiнна */ int...


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

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

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