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

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

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

Исправит ошибку, оператор new - C++

02.04.2014, 00:04. Просмотров 195. Ответов 2
Метки нет (Все метки)

Исправит ошибку, программа считает сумму 2 матриц/
Надо сделать через оператор new

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
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#define M 3
#define N 3
void outvec(int n, int * vec)
{
    for(int i = 0; i < n; i++)
        printf("%d ",vec[i]);
    printf("\n");
}
 
int main()
{
    int A[][3] =
    {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };
    int B[][3] =
    {
        {-1, 0, 4},
        {0, 3, 0},
        {2, 0, 1}
    };
    int C[M][N] = {0};
    float **r;
    int i,j;
    float *t=new float [9];
    for (i=0; i<3; i++)
    {
t[i]=new float [3];
    }
 
     for (i=0; i<3; i++)
         for (j=0; j<3; j++)
         *(*(t+i)+j)=A[][3];
 
r=new float *[3];
    for (i=0; i<3; i++)
    {
        r[i]=new float *[3];
 
    }
 
     for (i=0; i<3; i++)
         for (j=0; j<3; j++)
         r[i][j]=B[][3];
 
    printf("Matrix A:\n");
    for(i = 0; i < M; i++)
        outvec(N, *(*(t+i)));
 
    printf("Matrix B:\n");
    for(i = 0; i < M; i++)
        outvec(N, *(*(r+i)));
    //C = A + B
    for(i = 0; i < M; i++)
    for(j = 0; j < N; j++)
        C[i][j] = *(*(t+i)+j) + *(*(r+i)+j);
    printf("Matrix C = A + B:\n");
    for(i = 0; i < M; i++)
        outvec(N, C[i]);
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2014, 00:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Исправит ошибку, оператор new (C++):

Нужно исправит ошибку с массивом! - C++
Почти решил задачу но вот эту ошибку никак не могу исправиьcannot convert from 'void' to 'double' #include &quot;stdafx.h&quot; #include...

Исправить ошибку с выводом (оператор if else) - C++
С клавиатуры вводятся числа A B C D нужно определить упорядочены ли они по убыванию вострастанию или неупорядочены: #include...

Немогу перегрузить оператор, выдает ошибку - C++
при попытке f = d - e выдает ошибку no match for 'operator=' не могу понять в чем проблема #include &lt;iostream&gt; #include...

Тернарный оператор - найти ошибку в коде - C++
Не пойму почему выдает ошибку, вроде программы самые простые и ошибиться то негде: #include&lt;iostream&gt; using namespace std; int main()...

Оператор case. Помогите найти ошибку. - C++
Ребят помогите почему он выводит на таком языке??? #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; #include...

Помогите исправить ошибку: string не найден оператор - C++
Когда хочу напечатать строку string то появляется ошибка что не найден оператор #include &lt;iostream&gt; #include &lt;fstream&gt; using...

2
xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,173
Записей в блоге: 1
02.04.2014, 00:17 #2
Непонял вашего вопроса, что именно нужно?

Добавлено через 10 минут
float *t=new float [9];
t[i]=new float [3];

что это значит, что вы хотите сделать этим?
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.04.2014, 00:55 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
С float и int как-то определитесь:
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
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
 
#define M 3
#define N 3
 
template <class T> void outvec(int n, T* vec)
{
    for(int i = 0; i < n; i++)
        std::cout << vec[i] << ' ';
    printf("\n");
}
 
int main()
{
    int A[][3] =
    {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };
    
    int B[][3] =
    {
        {-1, 0, 4},
        {0, 3, 0},
        {2, 0, 1}
    };
    
    int C[M][N] = {0};
    float **r;
    int i, j;
    float **t = new float* [3];
    for (i = 0; i < 3; i++)
    {
        t[i] = new float [3];
    }
 
    for (i=0; i<3; i++)
        for (j=0; j<3; j++)
            *(*(t+i)+j)=A[i][j];
 
    r = new float *[3];
    for (i=0; i<3; i++)
    {
        r[i]=new float [3];
    }
 
    for (i=0; i<3; i++)
        for (j=0; j<3; j++)
            r[i][j]=B[i][j];
 
    printf("Matrix A:\n");
    for(i = 0; i < M; i++)
        outvec(N, *(t + i));
 
    printf("Matrix B:\n");
    for(i = 0; i < M; i++)
        outvec(N, *(r + i));
    //C = A + B
    for(i = 0; i < M; i++)
        for(j = 0; j < N; j++)
            C[i][j] = *(*(t+i)+j) + *(*(r+i)+j);
    
    printf("Matrix C = A + B:\n");
    for(i = 0; i < M; i++)
        outvec(N, C[i]);
}
1
Миниатюры
Исправит ошибку, оператор new  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2014, 00:55
Привет! Вот еще темы с ответами:

Оператор for: найти сумму n элементов ряда (выдает ошибку) - C++
Для заданного ряда необходимо найти сумму N элементов ряда (с использованием оператора FOR. #include &lt;iostream&gt; #include &lt;cstdlib&gt; ...

Нужен совет. Как правильно исправит код ? - C++
#include&lt;iostream&gt; using namespace std; int main() { int count; cin &gt;&gt; count; for (int counter = 0; counter &lt; count;...

Исправить ошибку "не найден оператор, принимающий левый операнд типа 'node'" - C++
Ошибка: &quot;бинарный &quot;==&quot;: не найден оператор, принимающий левый операнд типа &quot;node&quot; (или приемлемое преобразование отсутствует)&quot; Код: ...

Оператор "+", который должен суммировать 2 массива 2-х классов, выдает ошибку доступа - C++
Все же не могу понять причину этого... Вот код: #include &lt;iostream&gt; #include&lt;ctime&gt; #include&lt;stdio.h&gt; #include&lt;locale.h&gt; ...


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

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

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