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

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

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

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

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

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

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

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

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.05.2011, 02:14     Создать новую матрицу #2
Цитата Сообщение от Cherepinsky Посмотреть сообщение
Помогите! Не знаю как это реализовать.
что именно не получается?
Cherepinsky
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23
21.05.2011, 02:26  [ТС]     Создать новую матрицу #3
Цитата Сообщение от Maxwe11 Посмотреть сообщение
что именно не получается?
Не знаю как умножить все элементы каждого рядка, кроме первого, на его первой элемент, та поделить все элементы каждого столбца, кроме первого, на его первой элемент.
И с всего этого создать новую матрицу.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.05.2011, 02:38     Создать новую матрицу #4
Цитата Сообщение от Cherepinsky Посмотреть сообщение
Не знаю как умножить все элементы каждого рядка, кроме первого, на его первой элемент, та поделить все элементы каждого столбца, кроме первого, на его первой элемент.
И с всего этого создать новую матрицу.
ваши нароботки, хоть какие нибудь?
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();
}
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 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;
}
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.05.2011, 03:06     Создать новую матрицу #7
подправил чуток
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
...
...
...
Так как указано в задании.
Cherepinsky
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23
21.05.2011, 03:07  [ТС]     Создать новую матрицу #9
От такую задачку мне решить не под силу, прошу мне помочь!
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 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;
}
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'
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.05.2011, 03:32     Создать новую матрицу #12
Цитата Сообщение от Cherepinsky Посмотреть сообщение
Multiple declaration for 'i'
с английским совсем туго? хотя и не только с ним
поубирайте unsigned во всех циклах кроме первого
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2011, 04:01     Создать новую матрицу
Еще ссылки по теме:

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

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

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

Получить новую матрицу путем сложения - C++
Получить новую матрицу путем сложения всех элементов данной матрицы с ее наименьшим по модулю элементом. РАБОТА С ФУНКЦИЯМИ.. ...

Получить новую матрицу путем сложения - C++
Кто может уделить немного времени знающий язык С++ и помочь сделать данную программу плиз... с операторами ввода/вывода(...


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

Или воспользуйтесь поиском по форуму:
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;
}
Yandex
Объявления
21.05.2011, 04:01     Создать новую матрицу
Ответ Создать тему
Опции темы

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