0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 4
1

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

29.09.2015, 22:47. Показов 1491. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2015, 22:47
Ответы с готовыми решениями:

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

Подскажите как исправить ошибку в строке ?
Этой строке : !!checkMobileOperator.check(input.val()) &amp;&amp; submit.removeprop('disabled'); ...

Почему выдает ошибку в строке String s = reader.readLine()? Как исправить?
package ruspe******tsempl; /* import java.io.BufferedReader; import java.io.IOException; ...

Структура: Не могу понять, почему выдает ошибку и как собственно эту ошибку можно исправить?
Привет,не могу понять почему ошибку выдает и как сбстно эту ошибку можно исправить? #include...

5
252 / 128 / 54
Регистрация: 04.05.2013
Сообщений: 346
29.09.2015, 22:57 2
А зачем используется указатель на указатель на тип int?
И куда вы пишете элементы матриц в функции smatrix если память под них не выделена? Выделенная память в функции matrix вами используется только внутри этой функции.
0
0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 4
29.09.2015, 23:04  [ТС] 3
вот я тоже не понимаю) нам как-то так на паре объяснили.. и как исправить тоже не догадываюсь уже
0
252 / 128 / 54
Регистрация: 04.05.2013
Сообщений: 346
29.09.2015, 23:07 4
Тут проще заново написать, чем исправлять.
0
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
252 / 128 / 54
Регистрация: 04.05.2013
Сообщений: 346
29.09.2015, 23:26 6
Писать огромные полотна внутри функции - дурной тон. Разбейте программу на несколько независимых функций:
1) Генерация матрицы
2) Вывод матрицы в консоль
3) Суммирование матриц
и т.д.

Восприятие кода возрастет в разы
0
29.09.2015, 23:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2015, 23:26
Помогаю со студенческими работами здесь

Выдает ошибку, подскажите что исправить
from tkinter import * from math import sqrt #sqrt(x) from math import sin #sin(x) def...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru