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

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

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

Создать новую матрицу - C++

21.05.2011, 02:00. Просмотров 710. Ответов 12
Метки нет (Все метки)

Есть такая задача: Есть квадратная матрица В(А,А).Создать новую матрицу, с данной в результате умножения всех элементов каждого рядка, кроме первого, на его первой элемент, та деления всех элементов каждого столбца, кроме первого, на его первой элемент.

Помогите! Не знаю как это реализовать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2011, 02:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать новую матрицу (C++):

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

Создать новую матрицу, скопировав её из исходной; заполнить 30% новой матрицы нулями в случайном порядке - C++
Задание 3 скопировать 2-мерный массив и 30% чисел в нем заполнить нулями (в случайном порядке)

Создать новую матрицу из тех столбцов исходной, сумма которых больше суммы всех элементов матрицы - C++
Ввести матрицу из n*m чисел (массив и числа m, n ввести с экрана). Создать новую матрицу из тех столбцов введенной матртцы, сумма которых...

Если в матрице есть одна строка, сумма элементов которой отрицательна, создать новую матрицу по правилу - C++
Люди, кто-нибудь знает как задачку решить? Хотя бы на мысль подтолкните плизззз)) Составить программу, которая получает матрицу А...

Получить новую матрицу - C++
Здравствуйте, нужен код для задачки на языке C: Даны две действительные квадратные матрицы порядка n. Получить новую матрицу умножением...

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

12
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.05.2011, 02:14 #2
Цитата Сообщение от Cherepinsky Посмотреть сообщение
Помогите! Не знаю как это реализовать.
что именно не получается?
0
Cherepinsky
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23
21.05.2011, 02:26  [ТС] #3
Цитата Сообщение от Maxwe11 Посмотреть сообщение
что именно не получается?
Не знаю как умножить все элементы каждого рядка, кроме первого, на его первой элемент, та поделить все элементы каждого столбца, кроме первого, на его первой элемент.
И с всего этого создать новую матрицу.
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.05.2011, 02:38 #4
Цитата Сообщение от Cherepinsky Посмотреть сообщение
Не знаю как умножить все элементы каждого рядка, кроме первого, на его первой элемент, та поделить все элементы каждого столбца, кроме первого, на его первой элемент.
И с всего этого создать новую матрицу.
ваши нароботки, хоть какие нибудь?
0
Cherepinsky
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23
21.05.2011, 02:42  [ТС] #5
Цитата Сообщение от Maxwe11 Посмотреть сообщение
ваши нароботки, хоть какие нибудь?
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
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
//#include<match.h>
int const n=6;
int B[n][n];
mas[n][n];
int i,j,t,y;
void main()
{
//randomize();
srand(time(NULL));
clrscr();
for(i=0;i<n;i++)
  {
  for(j=0;j<n;j++)
      {
    B[i][j]=rand()%-100;
    printf("%5d",B[i][j]);
      }
      cout<<("\n");
   }
   cout<<"\n\n\n";
          for
 
          for(i=0;i<n;i++)
          {
          for(j=0;j<n;j++)
          {
              mas[j][i]=B[j][i];
          printf("%5d",B[i][j]);
          }
          cout<<"\n";
       }
   getch();
}
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.05.2011, 03:03 #6
проверяйте
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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int matr[5][5];
    for(unsigned i = 0; i < 5; i++)
    {
    for(unsigned j = 0; j < 5; j++)
    {
        matr[i][j] = rand() % (i * j + j + i + 1) + 1;
        printf("%3d", matr[i][j]);
    }
           printf("\n");
   }
//multiply
   for(unsigned i = 0; i < 5; i++)
   {
    for(unsigned j = 1; j < 5; j++)
    {
        matr[i][j] *= matr[i][0];
    }
    }
//div
    for(unsigned j = 0; j < 5; j++)
    {
    for(unsigned i = 1; i < 5; i++)
    {
        matr[i][j] /= matr[0][j];
    }
    } 
    getchar();
    return 0;
}
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.05.2011, 03:06 #7
подправил чуток
0
Cherepinsky
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23
21.05.2011, 03:07  [ТС] #8
Мне нужно реализовать алгоритм так:
Пусть первая матрица такая :

00 01 02 03 04
10 11 12 13 14
20 21 22 23 24
30 31 32 33 34
40 41 42 43 44

где 00,01,02,03,04 ... индексы соответствующих элементов .
С этой матрицы мене нужно создать новую в где:

1-элемент: 00
2-элемент: 01*00
3-элемент: 02*00
4-элемент: 03*00
5-элемент: 04*00
6-элемент: 10/00
7-элемент: 11*10/01
8-элемент: 12*10/02
9-элемент: 13*10/03
10-элемент: 14*10/04
11-элемент: 20/00
12-элемент: 21*20/01
13-элемент: 22*20/02
14-элемент: 23*20/03
15-элемент: 24*20/04
...
...
...
Так как указано в задании.
0
Cherepinsky
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23
21.05.2011, 03:07  [ТС] #9
От такую задачку мне решить не под силу, прошу мне помочь!
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.05.2011, 03:18 #10
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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    double matr[5][5];
    for(unsigned i = 0; i < 5; i++)
    {
    for(unsigned j = 0; j < 5; j++)
    {
        matr[i][j] = rand() % (i * j + j + i + 1) + 1;
        printf("%.2lf\t", matr[i][j]);
    }
    printf("\n");
    }
//multiply
    printf("\n");
    for(unsigned i = 0; i < 5; i++)
    {
    for(unsigned j = 1; j < 5; j++)
    {
        matr[i][j] *= matr[i][0];
    }
    }
    for(unsigned i = 0; i < 5; i++)
    {
    for(unsigned j = 0; j < 5; j++)
    {
        printf("%.2lf\t", matr[i][j]);
    }
    printf("\n");
     }
//div
     printf("\n");
     for(unsigned j = 0; j < 5; j++)
     {
    for(unsigned i = 1; i < 5; i++)
    {
        matr[i][j] /= matr[0][j];
    }
     }
     for(unsigned i = 0; i < 5; i++)
     {
    for(unsigned j = 0; j < 5; j++)
    {
        printf("%.2lf\t", matr[i][j]);
    }
    printf("\n");
     }
     getchar();
     return 0;
}
0
Cherepinsky
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23
21.05.2011, 03:25  [ТС] #11
в строке
C++
1
for(unsigned i = 0; i < 5; i++)
на этапе компиляции видает ошибку в строке 18,25,42: Multiple declaration for 'i'
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.05.2011, 03:32 #12
Цитата Сообщение от Cherepinsky Посмотреть сообщение
Multiple declaration for 'i'
с английским совсем туго? хотя и не только с ним
поубирайте unsigned во всех циклах кроме первого
0
Cherepinsky
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23
21.05.2011, 04:01  [ТС] #13
Можете подсказать как операции превращения отдельного рядка и столбца оформить как процедуру?

Добавлено через 15 минут
И как этот код будет выглядеть на Паскале?

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
#include<conio.h>
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
clrscr();
        double matr[5][5];
        for(unsigned i = 0; i < 5; i++)
        {
                for(unsigned j = 0; j < 5; j++)
                {
                        matr[i][j] = rand() % (i * j + j + i + 1) + 1;
                        printf("%.2lf\t", matr[i][j]);
                }
                printf("\n");
        }
//multiply
    printf("\n");
        for( i = 0; i < 5; i++)
        {
                for(unsigned j = 1; j < 5; j++)
                {
                        matr[i][j] *= matr[i][0];
                }
        }
        for( i = 0; i < 5; i++)
        {
                for(unsigned j = 0; j < 5; j++)
                {
                        printf("%.2lf\t", matr[i][j]);
                }
                printf("\n");
        }
//div
        printf("\n");
        for(unsigned j = 0; j < 5; j++)
        {
                for( i = 1; i < 5; i++)
                {
                        matr[i][j] /= matr[0][j];
                }
        }
        for(i = 0; i < 5; i++)
        {
                for( j = 0; j < 5; j++)
                {
                        printf("%.2lf\t", matr[i][j]);
                }
                printf("\n");
        }
        getchar();
        return 0;
}
0
21.05.2011, 04:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2011, 04:01
Привет! Вот еще темы с ответами:

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

Вычислить новую матрицу по формуле - C++
Здравствуйте, вобщем есть программка мне нужно вычислить матрицу В, по матрице А. Ответ мне выдается иероглифами в первой матрице....

Функция создающая новую матрицу - C++
Нужна функция которая создает новую квадратную матрицу, где элементы вычисляются по формуле B=1/(i+j-1) Не уверен правильно ли функция...

Получить новую матрицу переставляя ее блоки - C++
Дана действительная квадратная матрица . получите новую матрицу переставляя ее блоки 1 с 4, 2 с 3.


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

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

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