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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2021, 17:44   #1
SeeYoo
 
Регистрация: 23.03.2020
Сообщений: 6
Сообщение Работа с файлами в программе C

Надо считать из файла danie.txt 25 чисел и сделать массив Z(5*5).
Код:
#include <stdlib.h>
    #define N 5
    #include <stdio.h>
    int main ()
    {
    int i,k, Z[N][N];
    char ch, line[50];
    FILE *file = fopen("danie.txt", "r+");
    if(file != NULL)  {
    printf("File danie.txt successfully openned");
    for (i=0; i<N; i++)
    { for ( k=0; k<N; k++)
    {
     fread(&Z[N][N],sizeof(int),1,file);
     printf( "%d", Z[N][N]);
    }  } }
    else
    {
    printf("No");  }
    fclose(file);
    system("pause");
    return 0;
    }
Вот что у меня пока есть, выдаёт постоянно No.
SeeYoo вне форума Ответить с цитированием
Старый 23.05.2021, 18:35   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,716
По умолчанию

1.Если файл находится не в той папке, в которой .ехе-шник, то так и будет. Нужно указывать путь к файлу. Например,
"D:\\MYDATA\\danie.txt"
2.Файл открыт как текстовый, а считывается как бинарный. Тут вроде бы нужно
Код:
fscanf(file, "%d", &Z[i][k]);
3.Закрывать файл нужно в любом случае - успешном и неуспешном.
Впрочем, я давно не Сищник, могу ошибаться. Но они поравят .

Последний раз редактировалось digitalis; 23.05.2021 в 18:39.
digitalis вне форума Ответить с цитированием
Старый 23.05.2021, 18:38   #3
SeeYoo
 
Регистрация: 23.03.2020
Сообщений: 6
По умолчанию

#include <stdlib.h>
#include<stdio.h>
#include<conio.h>
#define N 5
#include <math.h>
int main () {
double AVG;
char st1[100];
char st2[100];
char st3[100];
char st4[100];
char st5[100];
int i,k, Z[N][N];
//char ch, line[50];
FILE *file = fopen("C:\\Users\\Serega\\Desktop\\ danie.txt", "rb+");
if(file != NULL) {
printf("File danie.txt successfully openned");
if ( NULL != fgets ( st1, 100, file ) ) {
printf("\n %s ",st1); }
if ( NULL != fgets ( st2, 100, file ) ) {
printf("%s ",st2);}
if ( NULL != fgets ( st3, 100, file ) ) {
printf("%s ",st3); }
if ( NULL != fgets ( st4, 100, file ) ) {
printf("%s ",st4); }
if ( NULL != fgets ( st5, 100, file ) ) {
printf("%s ",st5); }
AVG=pow((1*2*3*4*5*6*7*1*9*2*1*1*3* 4*5*6*3*8*3*4*1*2*3*4*5), 1/25);
printf("\n AVG geometry = %g", AVG); }
else {
printf("No"); }
fclose(file);
system("pause");
return 0; }
Решение
SeeYoo вне форума Ответить с цитированием
Старый 23.05.2021, 18:40   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,716
По умолчанию

А это ещё к чему ?
digitalis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лабораторная работа(очень простая) Структуры, работа с файлами yurda Фриланс 2 11.06.2016 08:44
Работа с файлами: запись, добавление, чтение (найти ошибку в коде) / C для начинающих Надо создать программу для работы с файлами Konlor Общие вопросы C/C++ 2 18.05.2014 12:37
Нужно исправить ошибку в программе работы с файлами. ameks94 Паскаль, Turbo Pascal, PascalABC.NET 2 25.11.2012 23:36