Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2010, 20:09   #11
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Я не знаю какой у тебя компилятор но у меня ошибок нет всё работает!
По поводу ошибки могу сказать что утебя не хватает ) т.е. скобки! Так что посмотри код по внимательнее!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 20.11.2010, 20:11   #12
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Сообщение от Syuf Посмотреть сообщение
Я то думаю, что за мозгопудрилка, а вы на С шпарите. Вот, что значит элегантное название "Общие вопросы С/С++"...
Нема ссылок в С. Используйте указатели: передавайте адрес K и изменяйте разыменованием.
Кстати да! Какая у вас среда? Ledom
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 20.11.2010, 20:30   #13
Ledom
Пользователь
 
Регистрация: 20.11.2010
Сообщений: 66
По умолчанию

Спасибо)
указатели вызвали затруднение:
Код:
void FVvod(int*K, char*name,char*r,float X[8][8])
{
FILE *ft;
unsigned char i,j,R;
ft=fopen(name,r);
fscanf(ft,"%d",&R);
*K=R;
for(i=0;i<R;i++)
for(j=0;j<R;j++)
fscanf(ft,"%f",&X[i][j]);
fclose(ft);
}
void main()
...
FVvod(&K,"D:\\Matr_A.txt","rt",A);
	FVvod(&K,"D:\\Matr_B.txt","rt",B);
...
все равно не считывает правильное значение...
правилен ли код???

Последний раз редактировалось Ledom; 20.11.2010 в 20:33.
Ledom вне форума Ответить с цитированием
Старый 20.11.2010, 20:32   #14
Ledom
Пользователь
 
Регистрация: 20.11.2010
Сообщений: 66
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
Кстати да! Какая у вас среда? Ledom
C
компилятор 3.1
Ledom вне форума Ответить с цитированием
Старый 20.11.2010, 20:38   #15
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Цитата:
C
компилятор 3.1
Гениально!!!
Надо же. А такой среде и не слышал, хотя возможно вопрос и подразумевал такой ответ.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 20.11.2010, 20:39   #16
Ledom
Пользователь
 
Регистрация: 20.11.2010
Сообщений: 66
По умолчанию

извините может не компетентен в некоторых вопросах....
но очень необходимо разобраться...
Ledom вне форума Ответить с цитированием
Старый 20.11.2010, 21:00   #17
Ledom
Пользователь
 
Регистрация: 20.11.2010
Сообщений: 66
По умолчанию

что то с указателями тоже возвращает не верные значения...
проверьте пожалуйста...
Ledom вне форума Ответить с цитированием
Старый 20.11.2010, 21:15   #18
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Попробуйте так:
Код:
void FVvod(int*K, char*name,char*r,float X[8][8])
{
      FILE *ft;
      int i,j,R;
      ft=fopen(name,r);
      fscanf(ft,"%d",&R);
      *K=R;
      for(i=0;i<R;i++)
            for(j=0;j<R;j++)
                  fscanf(ft,"%f",&X[i][j]);
      fclose(ft);
}
Или так:
Код:
void FVvod(int*K, char*name,char*r,float X[8][8])
{
      FILE *ft;
      unsigned char i,j,R;
      ft=fopen(name,r);
      fscanf(ft,"%uc",&R);
      *K=R;
      for(i=0;i<R;i++)
            for(j=0;j<R;j++)
                  fscanf(ft,"%f",&X[i][j]);
      fclose(ft);
}
Только я не уверен во втором, что scanf эту вермешель примет.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 20.11.2010, 21:56   #19
Ledom
Пользователь
 
Регистрация: 20.11.2010
Сообщений: 66
По умолчанию

Все работает огромное спасибо!!!!!!!!!!!!!!!!!!!!!
4 дня борюсь с программой))))))))))
но есть конечно замечание может поможете объяснить???:
Добавил printf("%d\n",K); чтобы проверить правильность размерности, а у меня при любых значениях считаных из файла причем при правильном результате выводит -14. не знаете счем может быть связано???
Код:
void FVvod(int*K, char*name,char*r,float X[8][8])
{
FILE *ft;
unsigned char i,j;
int R;
ft=fopen(name,r);
fscanf(ft,"%d",&R);
*K=R;
for(i=0;i<R;i++)
for(j=0;j<R;j++)
fscanf(ft,"%f",&X[i][j]);
fclose(ft);
printf("%d\n",K);
}
Ledom вне форума Ответить с цитированием
Старый 20.11.2010, 22:08   #20
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

С тем, что K - указатель.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить значения переменной внутри процедуры kartalex Помощь студентам 5 20.11.2010 18:44
Подстановка значения переменной как поле записи Noktikus Общие вопросы Delphi 2 17.04.2010 18:01
Параметры переменной и значения Asira Помощь студентам 13 23.12.2009 23:22
Имя переменной как переменная. Как получить доступ к такой переменной? Denni Microsoft Office Access 8 02.04.2009 10:06
как из dll передавать данные в основную программу? andrey4623 Общие вопросы Delphi 5 06.08.2007 10:15