Форум программистов и сисадминов CyberForum.ru
Вернуться   Форум программистов и сисадминов CyberForum.ru > Форум Форум программистов > Форум Basic > Форум QBasic
Восстановить пароль Регистрация

Ответ Создать новую тему
 
Старый 23.03.2010, 13:17   #1
bliss
Новичок
 
Регистрация: 23.03.2010
Сообщений: 7
Репутация: 0 (0)
массив из файла вывести на экран / QBasic

кажется что просто, но что бы не делал выводио нули =(
вот я сделал преобрахование переменной Х в массив М по уравнению
Код PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
     DIM M0(3,4)
     OPEN “d:\data0\dx0.datFOR INPUT AS #1
     INPUT #1, X
     PRINT “X=; X
     OPEN “d:\data0\dm0.datFOR OUTPUT AS #2
     FOR i = 1 TO 3
     FOR j = 1 TO 4
     M0(i,j) = (SIN(X-3) / COS(X-3)) / (j^25*i)
     WRITE #2, M0 (i, j)
     PRINT “M0(; i; “,”; j; “)=”; M0(i, j)
     NEXT j
     NEXT i
     CLOSE #1
     CLOSE #2
__________
как видно записал массив в dm0.dat открываю блокнотом все там есть все 12 числе =)
___
сейчас задача преобразовать этот массив M0 в массив M1
по уравнению M1(i,j,) = ] tg ( M0(i,j) ) + SQR(2*j - i) [
___
я застрял на выводе на экран массива M0 того что в файле dm0.dat =)
что бы не делал выводит двенадцать нулей =( хотя если не указывать размеры массива выыодит первое число из файла...
Старый 23.03.2010, 14:06   #2
кот Бегемот
Платежеспособный зверь
 
Аватар для кот Бегемот
 
Регистрация: 28.10.2009
Сообщений: 8,251
Репутация: 7064 (3278)
Лучшие ответы: 73
а зачем вы х из файла читаете, там же 12 чисел - для массива?
Давайте уточним задание:
1 этап. в файле есть числа. их надо занести в массив и вывести на экран. Так?
2 этап. преобразовать этот массив в другой по формуле.

Если это неверно, уточните условия, а так же сообщите, известен ли заранее размер массивов и куда выводить конечный результат: в файл или на экран?
Другие темы раздела Форум программистов QBasic. Язык программирования QBasic. Помощь в решении задач.
QBasic Одномерный массив в qbasic. Задача
Обработать на компьютере одномерный массив B(N): вычислить среднее арифметическое значение положительных элементов массива, найденное среднее арифметическое значение записать в массив B как N+1 элемент. Размер исходного массива ввести с клавиатуры. Вывести на экран монитора все результаты и...
QBasic Передвижение шарика
В это программе шарик передвигается при помощи клавишь, но надо эту программу сделать через GO SUB! cls SCREEN 1 x=150 y=100 circle (x,y),20,2 DO UNTIL a$="q" a$=INKEY$
Старый 23.03.2010, 19:25  [ТС]   #3
bliss
Новичок
 
Регистрация: 23.03.2010
Сообщений: 7
Репутация: 0 (0)
а зачем вы х из файла читаете, там же 12 чисел - для массива?
Давайте уточним задание:
1 этап. в файле есть числа. их надо занести в массив и вывести на экран. Так?
2 этап. преобразовать этот массив в другой по формуле.

Если это неверно, уточните условия, а так же сообщите, известен ли заранее размер массивов и куда выводить конечный результат: в файл или на экран?
__________
вобще задание из 5 частей
1. первое было - формирование числа Х по формуле и запись результата в файл dx0.dat
2. преобразование числа Х в Х1 по формуле, брали число Х из файла подставляли в формулу резульат сохраняли в другой файл.
3. Преобрахование числа Х в массив М(3,4) (размер 3 на 4) по формуле и сохранение в файл (код программы в первом посте).
4. преобразовать массив М в массив М1 по формуле по уравнению M1(i,j,) = ] tg ( M(i,j) ) + SQR(2*j - i)[
массив точно такой же (3,4), просто мне кажется надо в M1 взять другие букавки не i j
____________________
как я это понимаю:
1. есть файл в нем в столбик записаны числа: 1 2 3 4 5 6 7 8 9 10 11 12
2. нужно в бейсике INPUT из этого файла эти числа и записать их в вие массива M(3,4)
1, 2, 3, 4
5, 6, 7, 8
9, 10, 11, 12
3. вывести на экран по идее PRINT “M(“; i; “,”; j; “)=”; M(i, j) эта строчка у меня их вывела красиво =)
ну для начала хотело бы вот это =)

а если идти дальше то
4. вот этот массив что вывели надо подставить в форумулу M1(k,t,) = ] tg ( M(i,j) ) + SQR(2*j - i)[
M1(3,4) M(3,4)
5. Дальше как в предыдущей программе полученый ассив вывести на экран и записать в другой файл =)

Добавлено через 4 часа 33 минуты
неужели никто не знает как ГОТОВЫЙ ЗАДАНЫНЙ массив из ФАЙЛА в БЕЙСИК загрузить и вывести на экран?
Старый 23.03.2010, 19:49   #4
кот Бегемот
Платежеспособный зверь
 
Аватар для кот Бегемот
 
Регистрация: 28.10.2009
Сообщений: 8,251
Репутация: 7064 (3278)
Лучшие ответы: 73
почему не знаем? очень даже хорошо знаем. Вот только пытаюсь понять, с какого задания я должен начинать? Определитесь по пунктам задания. А то у вас то из числа массив сделать, то только массив вывести, то массив преобразовать в другой. глаза разбегаются. напишите коротко, ясно, по пунктам.
Старый 23.03.2010, 19:49
Google
Объявления
массив из файла вывести на экран / QBasic

Старый 23.03.2010, 20:38  [ТС]   #5
bliss
Новичок
 
Регистрация: 23.03.2010
Сообщений: 7
Репутация: 0 (0)
ВОТ: преобразовать массив М0 в массив М1 по уравнению M1(i,j) = ] tg ( M0(i,j) ) + SQR(2*j - i)[
Оба массива (3,4)
Массив M0 записан в файл допустим dm0.dat (для проверки можно создать блокнот там в столбик написать числа от 1 до 12 и переименовать в dm0.dat)

вот даже схема;
1. описание массива
2. открываем файл dm0.dat
3. чистаем массив из файла dm0.dat
4. выводим прочитаный массив M0
5. Организация внешнего цикла с параметром i для вычисления значений элементов массива переменных M1(i,j).
6. Организация внутреннего цикла с параметром j для вычисления значений элементов массива переменных M1(i,j).
7. Тело цикла. Вычисление значений элементов массива переменных M1(i,j)
8. Запись значений элементов массива переменных M1(i.j) в файл dm2.dat
9. Тело цикла. Вывод значений элементов массива переменных M1(i.j) на экран для контроля. Конец тела цикла.
Старый 23.03.2010, 22:12   #6
кот Бегемот
Платежеспособный зверь
 
Аватар для кот Бегемот
 
Регистрация: 28.10.2009
Сообщений: 8,251
Репутация: 7064 (3278)
Лучшие ответы: 73
Ваша формула
M1(i,j) = ] tg ( M0(i,j) ) + SQR(2*j - i)[
неверна, так как при j=1 и i=3 она предполагает извлечь корень из отрицательного числа (2*1-3=-1), в программе минус заменён на плюс, чтобы не выдавалось неверное значение функции, в остальном всё работает.

Код PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
DIM m0(3, 4), m1(3, 4)
OPEN "dm0.dat" FOR INPUT AS #1
PRINT "ishodnyj massiv"
FOR i = 1 TO 3
FOR j = 1 TO 4
INPUT #1, a(i, j)
PRINT a(i, j);
NEXT
PRINT
NEXT
CLOSE
OPEN "dm1.dat" FOR OUTPUT AS #2
PRINT "novyj massiv"
FOR i = 1 TO 3
FOR j = 1 TO 4
m(i, j) = ABS(TAN(m0(i, j)) + SQR(2 * j +i))
PRINT m(i, j);
PRINT #2, m(i, j);
NEXT
PRINT
PRINT #2, ""
NEXT
CLOSE
вывод производится и на экран, и в файл

что-то необходимо ещё?
Старый 23.03.2010, 23:26  [ТС]   #7
bliss
Новичок
 
Регистрация: 23.03.2010
Сообщений: 7
Репутация: 0 (0)
все супер работает =)

токо вопрост а что за a(i, j) ? а то я писал примерно тоже самое, но на месте a(i, j) было m0(i,j) и неработо =)
Старый 23.03.2010, 23:45   #8
кот Бегемот
Платежеспособный зверь
 
Аватар для кот Бегемот
 
Регистрация: 28.10.2009
Сообщений: 8,251
Репутация: 7064 (3278)
Лучшие ответы: 73
опечатка
Код PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
DIM m0(3, 4), m1(3, 4)
OPEN "dm0.dat" FOR INPUT AS #1
PRINT "ishodnyj massiv"
FOR i = 1 TO 3
FOR j = 1 TO 4
INPUT #1, m0(i, j)
PRINT m0(i, j);
NEXT
PRINT
NEXT
CLOSE
OPEN "dm1.dat" FOR OUTPUT AS #2
PRINT "novyj massiv"
FOR i = 1 TO 3
FOR j = 1 TO 4
m1(i, j) = ABS(TAN(m0(i, j)) + SQR(2 * j + i))
PRINT m1(i, j);
PRINT #2, m1(i, j);
NEXT
PRINT
PRINT #2, ""
NEXT
CLOSE
Старый 23.03.2010, 23:45
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Автор
С++ для начинающих Прочитать из файла массив строк символов. Отсортировать массив по алфавиту (методом выбора). Результат вывести на экран и записать в файл
На языке С прочитать из файла массив строк символов. Отсортировать массив по алфавиту (методом выбора). Результат вывести на экран и записать в файл. Именуйте темы осмысленно! Название темы должно максимально полно отражать её содержимое.
Irina_89
С++ для начинающих Прочитать из файла массив, отсортировать, результат вывести на экран.
Разработать приложение, выполняющее следующие функции. Прочитать из файла массив строк символов. Отсортировать массив в лексикографическом порядке (по алфавиту) (методом выбора). Результат вывести на экран и записать в файл. (Язык С)
Irina_89
Turbo Pascal Дан файл,компоненты которого целые числа.Вывести содержимое файла на экран,а также вывести среднеарифматическое значение компонентов файла
Пипл,пожалуйста помогите! Дан файл,компоненты которого целые числа.Вывести содержимое файла на экран,а также вывести среднеарифматическое значение компонентов файла. ПРОШУ ВАС ПОМОГИТЕ Добавлено через 5 минут погите................на рубежке сижу))) Добавлено через 50 минут помогите...
Erkosha
Pascal (Паскаль) Изменить содержимое файла и вывести 2 файла на экран
По умолчанию работа с файлами Доброго времени суток, столкнулся с проблемой при написании программы ддля задачи: Даны два файла. One, Two. Требуется переименовать One -> First, дописав в него: вторник и вывести содержимое. Файл One: (изначальный вариант) Понедельник Среда Четверг Пятница...
Flar
Turbo Pascal Считать из файла целочисленный массив и вывести его на экран
turbo pascal: Считать из файла целочисленный массив и вывести его на экран, выделяя цветом те пары его элемента, в которых больше число предшествует меньшему.
Ярмонов
Опции темы

Текущее время: 03:35. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.