![]() |
двумерные массивы на C++ Builder. вопрос в решении задания
Доброго времени суток.
Я только начал изучать массивы, и столкнулся с такой проблемой у меня есть массив 3x4 нужно найти векторную разность 1 и 3 строк(при нажатии на Button1 программа должна находить векторную разность и выводить её в Edit1). Подскажите, как написать код программы. Бейте не сильно, я только начинаю изучать 2-е массивы Заранее благодарен. P.S. Вот мои наработки: Код:
const int m=3; const int n=4; typedef int AType[m][n]; V[3]; void Vector(AType A) {for(i=0;i<4;i++)V[i]=A[i][j]-A[1][j];} |
Чисто стандартный вопрос: как эти массивы попадают в память машины? Либо чтение данных из файла, либо ввод с клавиатуры. Иначе - сферический конь в вакууме.
|
KnightMrak, предоставь пожалуйста полный исходный текст. Та строка что есть, мало понятна.
Цитата:
При i=3, V[i] не выйдет за пределы массива? void не возвращает результата. |
Векторная разница 1 строки и 3 строки. Полного кода нету, это всё что было дано в книге.
Я знаю как это должно выглядеть математически, но как написать в C++ Builder, я туговат=( XPEHOMETP, массив вводиться с клавиатуры в ячейки поля StringGrid |
Цитата:
|
Дан двумерный массив 3x4 который мы вводим в поле StringGrid:
1 3 -1 0 2 1 4 3 5 2 0 -3 По условию задачи необходимо найти векторную разницу 1-й и 3-й строки массива (каждую отдельно) Решение задачи при нажатии на Button1: Находим векторную разницу 1-й строки массива: Вектор первой строки = 1-3+1= -1; Находим векторную разницу 3-й строки массива: Вектор третей строки = 4-3-5= -4; После нахождения векторной разности, ответ выводиться в поле Edit1 в виде -1,-4. Вот решение математически, а вот теперь как это расписать в C++ Builder, я не понимаю.=( |
KnightMrak, пишу в псевдокоде, т.к. gcc (компилятор) в систему пока "не прикручен".
Делаем предположение, что матрица заполнена числами. Как работать со StrinGrid - я не в курсе, не возникало таких задач, читать справку откровенно лень. Алгоритм будет несколько избыточным, но да ладно, не велика потеря. Вводим дополнительный одномерный массив Vector[4]. В нем будем накапливать векторные разницы строк исходного массива. Код:
Цикл i от 1 до 4 //строки В результате выполнения циклов мы получили массив Vector[] в котором хранятся векторные разницы строк исходного массива. Вывести первое и третье значение не составит труда. (прим. одномерный массив иногда называют вектором. Т.е. каламбурчик, вектор под названием Vector[i]. :) ) |
lxa85, Спасибо за помощь.
|
Доброго времени суток.
Вот написал код, а он не хочет компилиться!=( Подскажите где допустил ошибку?. Вод код программы: Код:
//--------------------------------------------------------------------------- ![]() ![]() Заранее благодарен. П.С. Задане: Дан массив 3х4, нужно найти вектор-разницу 1 и 3 строки(от 1-й строки отнять 3-ю). |
Цитата:
Если мы говорим IntToStr(V[i]), то мы пытаемся перевести элементы массива в строки. Это уже будет иметь смысл. |
Спс. Я понял, всё заработало.
|
Время: 23:43. |
Время: 23:43.
© OSzone.net 2001-