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

Как правильно записать if чтобы столбец матрицы FtF первый, второй и третий менялся по очереди на столбец матрицы Fty - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти сумму ряда http://www.cyberforum.ru/cpp-beginners/thread275930.html
Найти сумму ряда с точностью ε=10^-4, общий член которого a_n=1/(((3n-2)(3n+1)))
C++ Перестановка в обратном порядке букв Дано слово из 15 букв. Переставить в обратном порядке буквы, расположенные между k-й и s-й буквами. т.е. с (k+1)-й по (s-1)-ю. Значения k и s вводятся с клавиатуры. (k<S) http://www.cyberforum.ru/cpp-beginners/thread275928.html
Следующая анаграмма строки в лексикографическом порядке C++
Условие Для данного слова (последовательности строчных латинских букв) выведите следующее за ним (в лексикографическом порядке) слово, которое может быть получено из данного перестановкой букв (анаграмму). Если из данное слово уже является последним среди всех своих анаграмм, то необходимо вывести первую возможную (в лексикографическом порядке) анаграмму. Формат входных данных Задана...
C++ Одномерный и двухмерный массив на С
Зраствуйте помогите решить пожалуйста! 1.Дан одномерный массив В найти количество положительных элементов 2.Дан двухмерный массив В найти сумму отрицательных элементов находящиеся на главной диагонали
C++ Я ничего не смыслю в программировании.Подскажите чего нибудь... http://www.cyberforum.ru/cpp-beginners/thread275903.html
Я ничего не смыслю в программировании.Хочу стать программистом.Подскажиье чего нибудь!!!!:read:
C++ Ввод матриц из файла Здравствуйте, задача стоит такая: Из файла ввести значения двух матриц: А из N* N элементов и B из M*М элементов. Определить: где: Y_A – значение, определяемое для массива А, Y_B – значение, определяемое для массива В. Значение - сумма элементов выше главной диагонали, включая диагональ. На паскале такие задачи делал, а вот с С++ не получается подробнее

Показать сообщение отдельно
kjahert
49 / 49 / 5
Регистрация: 08.04.2011
Сообщений: 124

Как правильно записать if чтобы столбец матрицы FtF первый, второй и третий менялся по очереди на столбец матрицы Fty - C++

14.04.2011, 12:52. Просмотров 407. Ответов 0
Метки (Все метки)

Как правильно записать if чтобы столбец матрицы FtF первый, второй и третий менялся по очереди на столбец матрицы Fty, тоесть чтобы после того как поменялся первый столбец нашелся детерминант, потом поменялся второй столбец... только первый столбец должен вернутся такой как был в матр FtF, а у меня в цикле if (в конце программы) условие->если заменился первый столбец, то в этой матрице находится детерминант, потом цикл закрывается, выводится измененная матрица и детерминант по ней,
потом откр другой цикл где если заменился второй столбец этой исходной матрицы FtF, то ищется детерминант по ней а первый столбец не должен быть изменен, но он почему то изменен. Как правильно сделать? Помогите пожалуйта
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
#include <iostream.h>
#include <math.h>
#include <conio.h>
float Ft[3][6];
float FtF[3][3];
float Fty[3];
float detr,detr1,detr2,detr3;
float x[6]={-1.5, 0.5, 0.5, 2.5, 3.5, 4.5};
float y[6]={2.6, 0.5, -3.3, -17.4, -28.2, -39.7};
float F[6][3]={{1, -1.5, 2.25},
               {1, -0.5, 0.25},
           {1, 0.5, 0.25},
           {1, 2.5, 6.25},
           {1, 3.5, 12.25},
           {1, 4.5, 20.25}};
int det(float FtF[3][3])
{
 return ((FtF[0][0]*FtF[1][1]*FtF[2][2])+(FtF[1][0]*FtF[2][1]*FtF[0][2])+(FtF[0][1]*FtF[1][2]*FtF[2][0]))-(FtF[0][2]*FtF[1][1]*FtF[2][0])-(FtF[2][1]*FtF[1][2]*FtF[0][0])-(FtF[0][1]*FtF[1][0]*FtF[2][2]);
 }
 
 void main()
 {
  clrscr();
  cout<<"F transponirovanoe: "<<endl;
  for (int i=0;i<3;i++)
  {
   for (int j=0;j<6;j++)
   {
    Ft[i][j]=F[j][i];
    cout<<Ft[i][j]<<" ";
    }
    cout<<endl;
    }
    cout<<"FtF :"<<endl; 
  for (i=0;i<3;i++)
  {
   for (int j=0;j<3;j++)
   {
    for (int k=0;k<6;k++)
    {
    FtF[i][j]+=Ft[i][k]*F[k][j];
    }
    cout<<FtF[i][j]<<" ";
    }
    cout<<endl;
    }
    cout<<"Fty: "<<endl;
  for (i=0;i<3;i++)
  {
   for (int j=0;j<6;j++)
   Fty[i]+=Ft[i][j]*y[j];
   }
   for (int j=0;j<3;j++)
   {
    cout<<Fty[j]<<" ";
    cout<<endl;
    }
  detr=det(FtF);
  cout<<"Obshiy determinant: "<<detr<<endl;
    
     for (i=0;i<3;i++)
    if (FtF[i][0]=Fty[i])
    {
     detr1=det(FtF);
     }
     cout<<"determinant1: "<<detr1<<endl;
     cout<<"FtF stolbec 1"<<endl;
     for (i=0;i<3;i++)
     {
     for (int j=0;j<3;j++)
     {
     cout<<FtF[i][j]<<" ";
     }
     cout<<endl;
     }
     for (i=0;i<3;i++)
     if (FtF[i][1]=Fty[i])
     {
     detr2=det(FtF);
     }
     cout<<"determinant2: "<<detr2<<endl;
     
     cout<<"FtF stolbec 2"<<endl;
     for (i=0;i<3;i++)
     {
     for (int j=0;j<3;j++)
     {
     cout<<FtF[i][j]<<" ";
     }
     cout<<endl;
     }}
Добавлено через 12 часов 46 минут
Шо никто не знает или не поняли вопрос?
Проблема: место того чтоб менять столбец на время, программа меняет его навсегда, а как сделать чтоб поменяло первый столбец, потом вернуло этот столбец в исх состояние, потом поменяло второй или третий столбец на время и вернуло исх значение этого столбца

Добавлено через 3 часа 25 минут
while здесь не работает почему то у меня
Неужели невозможно что-то исправить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru