Матрица в Borland c++
JHawk Дата: Среда, 13 Апреля 2016, 19:15 | Сообщение # 1
めゃくちゃちゃ
Сейчас нет на сайте
Под спойлером находится условие задачи, которую необходимо решить. С борландом никогда не работал, поэтому прошу помочь решить эту задачу (да-да, мне нужен именно исходный код или проект - не знаю как оно называется у борланда). Заранее спасибо за помощь!
Сообщение отредактировал JHawk - Среда, 13 Апреля 2016, 19:16
Gudleifr Дата: Среда, 13 Апреля 2016, 19:31 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
Учебник: пары часов хватит . Класс "таблицы" - TGridPanel.
Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
JHawk Дата: Среда, 13 Апреля 2016, 19:33 | Сообщение # 3
めゃくちゃちゃ
Сейчас нет на сайте
Gudleifr , спасибо за учебник, но у меня сейчас вообще нет времени сидеть и изучать это. Мне необходимо просто закрыть зачет, поэтому я сюда и написал. Можешь хотя бы примеры какие-нибудь скинуть?
Lertmind Дата: Среда, 13 Апреля 2016, 19:37 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
"Разработать программу сложной модульной структуры", ахаха.Цитата JHawk (
)
С борландом никогда не работал
При чём здесь борланд? Ты просто не умеешь программировать на C или C++, потому что для такой элементарной задачи специфичного для борланда практически нет, кроме того, что он древний.
JHawk Дата: Среда, 13 Апреля 2016, 19:39 | Сообщение # 5
めゃくちゃちゃ
Сейчас нет на сайте
Lertmind , что правда, то правда. Раньше баловался с С# на юнити, на этом мои умения и заканчиваются. сейчас жизненно важно закрыть зачет, чтобы из шараги не вылететь. Если разбираешься в этом, и задача для тебя простая, то помоги пожалуйста!
Lertmind Дата: Среда, 13 Апреля 2016, 19:43 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
JHawk , уточни, Borland C++, который для DOS? Приложение консольное?
JHawk Дата: Среда, 13 Апреля 2016, 19:44 | Сообщение # 7
めゃくちゃちゃ
Сейчас нет на сайте
Lertmind , да
Gudleifr Дата: Среда, 13 Апреля 2016, 19:46 | Сообщение # 8
почти ветеран
Сейчас нет на сайте
Цитата JHawk (
)
Если разбираешься в этом
Тут надо искать человека, у которого эта лабуда на компе. Делается за минуты, но только "на станке". Даже при переносе проекта с компа на комп могут быть проблемы (обычно с путями). Builder под DOS? Наверное, путаете с Turbo...
Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
Сообщение отредактировал Gudleifr - Среда, 13 Апреля 2016, 19:48
falcoware Дата: Среда, 13 Апреля 2016, 19:47 | Сообщение # 9
старожил
Сейчас нет на сайте
JHawk , float mtMatr[4][4] = { {10.f, 2.8, 4.0f}, {}, {}, {} }; // и так далее. // Произведение диагонали: float fMult = 1; for(int ix = 0; ix < 4; ix++){ fMult *= mtMatr[ix][ix]; } // Сумма всех положительных: float fSumma = 0.f; for(int ix = 0; ix < 4; ix++){ for(int iy = 0; iy < 4; iy++){ if(mtMatr[ix][iy] > 0.f){ fSumma += mtMatr[ix][iy]; } } } дальше разберешься!
JHawk Дата: Среда, 13 Апреля 2016, 19:51 | Сообщение # 10
めゃくちゃちゃ
Сейчас нет на сайте
falcoware , благодарю, думаю смогу понять как делать дальше!
Gudleifr Дата: Среда, 13 Апреля 2016, 20:02 | Сообщение # 11
почти ветеран
Сейчас нет на сайте
falcoware , а Вы, батенька, садист. Нет, чтобы сразу написать "выгонят, туда и дорога", так нет же - "пусть и преподаватель поржет!"
Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
JHawk Дата: Среда, 13 Апреля 2016, 20:05 | Сообщение # 12
めゃくちゃちゃ
Сейчас нет на сайте
Gudleifr , просто мой профиль вовсе не информатика, а вот для продолжения обучения важно иметь по ней хотя бы 3Добавлено (13 апреля 2016, 20:05) ---------------------------------------------falcoware , а это точно сложная модульная структура??Код
float mtMatr [ 4 ][ 4 ] = { { 10.0f , - 2.8f , - 2.1f , - 3.4f }, {- 7.4f ,- 6.6f ,- 4.9f ,- 7.0f }, { 5.2f , - 2.2f , 9.0f ,- 10.0f }, { 8.2f ,- 0.1f ,- 1.0f ,- 5.1f }}; // Произведение диагонали: float fMult = 1 ; for ( int ix = 0 ; ix < 4 ; ix ++){ fMult *= mtMatr [ ix ][ ix ]; } cout << fMult ; // Сумма всех положительных: float fSumma = 0.0f ; for ( int ix = 0 ; ix < 4 ; ix ++){ for ( int iy = 0 ; iy < 4 ; iy ++){ if ( mtMatr [ ix ][ iy ] > 0.0f ){ fSumma += mtMatr [ ix ][ iy ]; } } } cout << fSumma ; //транспонирование for ( int ix = 0 ; ix < 4 ; ix ++){ for ( int iy = 0 ; iy < 4 ; iy ++){ cout << mtMatr [ iy ][ ix ]<< " " << endl ; } }
Сообщение отредактировал JHawk - Среда, 13 Апреля 2016, 20:08
falcoware Дата: Среда, 13 Апреля 2016, 20:23 | Сообщение # 13
старожил
Сейчас нет на сайте
JHawk , count >> в эту сторону вроде стрелки. Это не модульное программирование но на 3 хватит =)
JHawk Дата: Среда, 13 Апреля 2016, 20:28 | Сообщение # 14
めゃくちゃちゃ
Сейчас нет на сайте
falcoware, можешь пожалуйста привести пример с модульным? Хотя бы первое здание
falcoware Дата: Среда, 13 Апреля 2016, 20:38 | Сообщение # 15
старожил
Сейчас нет на сайте
JHawk , 1. Создать модуль, матрицу. template <class T> class Matr{ public: int numberx; int numbery; Array<T> matr; // ------------------------------------------------------------------------- Matr(void){ numberx = numbery = 0; } // ------------------------------------------------------------------------- Matr(int numx, int numy){ matr.Set((numberx = numx) * (numbery = numy)); } // ------------------------------------------------------------------------- T& e(int numx, int numy){ if(((numx < numberx) && (numx >= 0)) && ((numy < numbery) && (numy >= 0))){ return matr.e(numberx * numy + numx); } else{ return matr.tmp; } } // ------------------------------------------------------------------------- BOOL Set(int numx, int numy){ return matr.Set((numberx = numx) * (numbery = numy)); } Потом благодаря ей решать твои задачи.
Lertmind Дата: Среда, 13 Апреля 2016, 20:53 | Сообщение # 16
заслуженный участник
Сейчас нет на сайте
Код
#include <iostream> #include <iomanip> using namespace std ; // Создание двумерного квадратного массива double ** array_generator ( unsigned int size ) { double ** ptrary = new double *[ size ]; for ( int i = 0 ; i < size ; i ++) { ptrary [ i ] = new double [ size ]; } return ptrary ; } // Удаление массива void array_destroyer ( double ** array , unsigned int size ) { for ( int i = 0 ; i < size ; i ++) { delete [] array [ i ]; } delete [] array ; } // Вывод массива на экран void print_array ( double ** array , int size , int width ) { for ( int i = 0 ; i < size ; i ++) { for ( int j = 0 ; j < size ; j ++) { cout << setw ( width ) << array [ i ][ j ] << ',' ; } cout << endl ; } } // Перемножение диагонали double mul ( double ** array , int size ) { double m = 1 ; for ( int i = 0 ; i < size ; i ++) { m *= array [ i ][ i ]; } return m ; } // Сумма положительных чисел double sum ( double ** array , int size ) { double s = 0 ; for ( int i = 0 ; i < size ; i ++) { for ( int j = 0 ; j < size ; j ++) { if ( array [ i ][ j ] > 0 ) { s += array [ i ][ j ]; } } } return s ; } // Транспонирование double tran ( double ** array , int size ) { for ( int i = 1 ; i < size ; i ++) { for ( int j = 0 ; j < i ; j ++) { double tmp = array [ i ][ j ]; array [ i ][ j ] = array [ j ][ i ]; array [ j ][ i ] = tmp ; } } } int main () { const int N = 4 ; double ** array = array_generator ( N ); array [ 0 ][ 0 ] = 10.0 ; array [ 0 ][ 1 ] = - 2.8 ; array [ 0 ][ 2 ] = - 2.1 ; array [ 0 ][ 3 ] = - 3.4 ; array [ 1 ][ 0 ] = - 7.4 ; array [ 1 ][ 1 ] = - 6.6 ; array [ 1 ][ 2 ] = - 4.9 ; array [ 1 ][ 3 ] = - 7.0 ; array [ 2 ][ 0 ] = 5.2 ; array [ 2 ][ 1 ] = - 2.2 ; array [ 2 ][ 2 ] = 9.0 ; array [ 2 ][ 3 ] = - 10.0 ; array [ 3 ][ 0 ] = 8.2 ; array [ 3 ][ 1 ] = - 0.1 ; array [ 3 ][ 2 ] = - 1.0 ; array [ 3 ][ 3 ] = - 5.1 ; cout << "array:" << endl ; print_array ( array , N , 5 ); cout << "mul = " << mul ( array , N ) << endl ; cout << "sum = " << sum ( array , N ) << endl ; cout << "tran:" << endl ; tran ( array , N ); print_array ( array , N , 5 ); array_destroyer ( array , N ); return 0 ; }