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

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

Восстановить пароль Регистрация
 
Cherepinsky
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23
21.05.2011, 02:00     Создать новую матрицу #1
Есть такая задача: Есть квадратная матрица В(А,А).Создать новую матрицу, с данной в результате умножения всех элементов каждого рядка, кроме первого, на его первой элемент, та деления всех элементов каждого столбца, кроме первого, на его первой элемент.

Помогите! Не знаю как это реализовать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 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
Каратель
Эксперт C++
6543 / 3963 / 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
Каратель
Эксперт C++
6543 / 3963 / 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
Каратель
Эксперт C++
6543 / 3963 / 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
Каратель
Эксперт C++
6543 / 3963 / 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
Каратель
Эксперт C++
6543 / 3963 / 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++

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

Или воспользуйтесь поиском по форуму:
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     Создать новую матрицу
Ответ Создать тему
Опции темы

Текущее время: 12:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru