This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
|
|
1 | |
Матрицы в файлах28.05.2010, 16:03. Показов 12102. Ответов 30
Метки нет (Все метки)
Добрый день! Изучаю дальше файлы, и есть парочка задач, но в них уже идёт работа с матрицей внутри файла:
Задача 1. Даны два целых числа I, J и файл вещественных чисел, содержащий элементы прямоугольной матрицы (по строкам), причем первый элемент файла содержит количество столбцов матрицы. Вывести элемент матрицы, расположенный в I-й строке и J-м столбце (строки и столбцы нумеруются от 1). Если требуемый элемент отсутствует, то вывести 0. Задача 2. Дан файл вещественных чисел, содержащий элементы прямоугольной матрицы (по строкам), причем первый элемент файла содержит количество столбцов матрицы. Создать новый файл той же структуры, содержащий матрицу, транспонированную к исходной. Задача 3. Даны два файла вещественных чисел с именами SA и SB, содержащие элементы прямоугольных матриц A и B (по строкам), причем первый элемент каждого файла содержит количество столбцов соответствующей матрицы. Создать файл той же структуры с именем SC, содержащий элементы произведения A•B. Если матрицы A и B нельзя перемножать, то оставить файл SC пустым. Пожалуйста, если кто-то может, объясните хотя бы смысл задачи, и как они выглядят, просто я совершенно ничего не могу представить. Вроде бы на форуме есть и как транспонировать, в общем весь материал, а про то как сделать это в файле, и как должен выглядеть начальный файл я не знаю. Спасибо!
0
|
28.05.2010, 16:03 | |
Ответы с готовыми решениями:
30
Даны две квадратные матрицы 5х5 и 6х6 в текстовых файлах. Трансформировать их в другие матрицы Начальные данные матрицы разместить во внешних файлах Даны матрицы Y (5,3) , Z(5,3) , W (5,4) которые находятся в файлах f1, f2 и f3соответственно Есть 2 файла. В файлах числа, найти самое большое число в обоих файлах |
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
28.05.2010, 17:38 | 2 |
А никто и не говорит о том, что это нужно делать в файле))) Надо считывать данные из файла в память, в памяти выполнять все необходимые преобразования, а дальше как по условию, либо выводить на экран, либо в тот же файл (тогда создастся иллюзия, будто всё это происходило прямо внутри файла), либо в новый файл.
0
|
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
|
|
28.05.2010, 18:08 [ТС] | 3 |
Не могли бы вы показать на примере одной из задачек? с вашим исходным файлом. Я просто не знаю что и как мне записать в него даже. -(
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||||||
28.05.2010, 19:23 | 4 | |||||
Задача 2
Код
4 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7 5 6 7 8 6 7 8 9 7 8 9 0 Код
1.000000 2.000000 3.000000 4.000000 5.000000 6.000000 7.000000 2.000000 3.000000 4.000000 5.000000 6.000000 7.000000 8.000000 3.000000 4.000000 5.000000 6.000000 7.000000 8.000000 9.000000 4.000000 5.000000 6.000000 7.000000 8.000000 9.000000 0.000000
2
|
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
|
|
28.05.2010, 19:36 [ТС] | 5 |
Спасибо! теперь буду пробовать сделать первую и третью. Если что-то не будет получатся, или запутаюсь, буду надеятся на вашу помощь.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
28.05.2010, 19:38 | 6 |
Разумеется))
0
|
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
|
|
29.05.2010, 13:55 [ТС] | 7 |
Помогите пожалуйста, пытаюсь скомпилировать и появляются вот такие ошибки:
Код
P:\1AiP\Task 5\13\Text1.c(55) : error C2275: 'FILE' : illegal use of this type as an expression d:\program files\microsoft visual studio\vc98\include\stdio.h(156) : see declaration of 'FILE' P:\1AiP\Task 5\13\Text1.c(55) : error C2065: 'out' : undeclared identifier P:\1AiP\Task 5\13\Text1.c(57) : warning C4047: '=' : 'int ' differs in levels of indirection from 'struct _iobuf *' P:\1AiP\Task 5\13\Text1.c(57) : warning C4047: '==' : 'int ' differs in levels of indirection from 'void *' P:\1AiP\Task 5\13\Text1.c(63) : warning C4047: 'function' : 'struct _iobuf *' differs in levels of indirection from 'int ' P:\1AiP\Task 5\13\Text1.c(63) : warning C4024: 'fprintf' : different types for formal and actual parameter 1 P:\1AiP\Task 5\13\Text1.c(65) : warning C4047: 'function' : 'struct _iobuf *' differs in levels of indirection from 'int ' P:\1AiP\Task 5\13\Text1.c(65) : warning C4024: 'fprintf' : different types for formal and actual parameter 1 P:\1AiP\Task 5\13\Text1.c(69) : warning C4047: 'function' : 'struct _iobuf *' differs in levels of indirection from 'int ' P:\1AiP\Task 5\13\Text1.c(69) : warning C4024: 'fclose' : different types for formal and actual parameter 1 Error executing cl.exe.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
29.05.2010, 14:01 | 8 |
К сожалению, я со студией не работал... Поэтому не знаю, чего она орёт... Один выход - ждать кого-нибудь, кто работает в студии, пусть он на ошибки покажет...
0
|
29.05.2010, 14:42 | 9 | ||||||||||
надо подключить
0
|
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
|
|
29.05.2010, 15:07 [ТС] | 10 |
#include <stdlib.h> я сразу подключил, а прописывая строчку отключения предупреждений, всё остаётся так же. Проблема не здесь, но я не могу её найти.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
29.05.2010, 15:10 | 11 |
Почему-то ругается на FILE, причём только на второе объявление (т.е. на FILE *out; )... Может попробовать объявить FILE *out; там же, где объявлен FILE *in;, т.е. до первого исполняемого оператора, а то всё-таки в чистом Си все объявления должны делаться в самом начале, до каких-либо операторов, в отличие от Си++...
1
|
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
|
||||||
29.05.2010, 20:04 [ТС] | 12 | |||||
всё заработало)) Спасибо)
Помогите ещё пожалуйста со второй. У меня есть функция поиска элемента в матрице, но я не знаю как её использовать, и как сосканить номера столбов и строк для поиска.
Пожалуста подскажите как єто сделать!
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||||||
29.05.2010, 20:16 | 13 | |||||
По сути изменил несколько строк. Программа намного проще, чем транспонирование, хотя каркас у них безусловно один. Конечно, рациональнее сразу считать из файла нужный элемент, но мне неохота особо с этим заморачиваться, поэтому тупо читаю всю матрицу в память и уже там ищу нужный элемент.
1
|
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
|
|
29.05.2010, 20:23 [ТС] | 14 |
Спасибо большое! Теперь осталась только третья задачка. Скажите пожалуйста, какой алгоритм можно использовать при перемножении матриц? (Ни разу их не перемножал и не сталкивался с этим).
Вот этот подойдёт? Если его перевести на Си
https://www.cyberforum.ru/cpp-beginners/thread53080.html
0
|
29.05.2010, 20:26 | 15 |
Не по теме: а если взять учебник по математике, почитать, подумать и попробовать самому решить задачку? в ней же ничего сложного. а то вечно будут проблемы а-ля "ни разу не сталкивался с этим". а вообще подойдет конечно...
0
|
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
|
|
29.05.2010, 23:54 [ТС] | 16 |
А кто может какой-нить другой алгоритм подсказать, или функцию? А то тчо-то с той не выходит у меня....=(
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
29.05.2010, 23:55 | 17 |
Ну ведь это простой алгоритм! Не уж то нет ни малейшего желания самому попробовать написать его? Это ведь даже не программирование - это кодинг, думать особо не надо, за вас уже подумали... Если вы не поняли алгоритм - спрашивайте - объясним.
0
|
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
|
||||||
30.05.2010, 00:00 [ТС] | 18 | |||||
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
30.05.2010, 00:01 | 19 |
А вы описание алгоритма русским языком видели? Или пытаетесь понять его по чьему-то коду?
0
|
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
|
|
30.05.2010, 00:04 [ТС] | 20 |
Не-а. Не видел. Я только вышку закончил делать, голова кругом, так что ни читать, ни что либо ещё я не пытался.... Можно ссылочку, если не трудно? Надо решить всё таки эту задачу)) Она ведь последняя за будущие 3 года. что мне задал препод)) Дальше по книжке буду учится. Курс заканчивается программирования. Хотя какой тут курс - конспект 20летней давности начитали, и разбирайтесь 6 месяцев.
0
|
30.05.2010, 00:04 | |
30.05.2010, 00:04 | |
Помогаю со студенческими работами здесь
20
Какая СУБД хранит данные в файлах с расширением .dat и индексы в файлах .k01, k02 и т.д.? Идея БД на файлах Строки в файлах Значки в файлах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |