Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
LaCokaNostra
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 6
1

Запись и считывание в файл txt

03.06.2015, 14:39. Просмотров 975. Ответов 7
Метки нет (Все метки)

доброго времени суток, уважаемые программисты, я конечно жутко извиняюсь, за примитивный вопрос, но мне нужна помощь, очень! Суть состоит в том, что матрица меняет максимальный и минимальный элемент матрицы местами, НО она должна считывать элементы с файла txt и записывать конечный результат так же в txt, как это сообразить я не знаю, очень прошу, помогите!!
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2015, 14:39
Ответы с готовыми решениями:

Считывание и запись матрицы в файл
Нужно написать 2 функции: 1) для считывание одномерной марицы из файла для дальшей работы с ним...

Считывание с файла и запись в файл
как считать и записать данные с файла , с расширением txt?

Задачка на считывание и запись чисел в файл
Доброго времени! Помогите с задачкой. Задачка на поиск данных в файле: "Осуществить: 1 –...

Определить - некорректная запись в файл или считывание
Здраствуйте. Написал програму для записи структур в файл а потм считывания и вывода на екрн. Но...

Построчное считывание, обработка строк, и запись в файл
Всем доброго времени дня! Подскажите пожалуйста, как следующую программу. Есть файл, в...

7
UnknownPlayer
9 / 9 / 9
Регистрация: 30.05.2015
Сообщений: 28
03.06.2015, 14:51 2
открываем файл для записи
fprintf размерность матрицы
for i до размерности n
for j до размерности m
fprintf a[i][j]

для чтения fprintf заменить на fscanf
1
LaCokaNostra
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 6
03.06.2015, 16:51  [ТС] 3
это ладно, сама программа у меня в целом есть, мне просто организовать запись результата выполнения в txt и считывания матрицы в .txt так же
0
UnknownPlayer
9 / 9 / 9
Регистрация: 30.05.2015
Сообщений: 28
03.06.2015, 18:45 4
Скиньте код между тегами "[C]" и "[/С]".
0
LaCokaNostra
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 6
03.06.2015, 19:40  [ТС] 5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <stdio.h>
#include <stdlib.h>
int main ()
{
        int i, j, m, n, v, minj=0,maxj=0,t ;
        printf (" Введите размер матрицы ");
        scanf ("%i %i", &n, &m);
        int a[n][m], max, min;
        
        switch (v)
        {
        case 0:
                for (i=0; i<n; i++)
                        for (j=0; j<m; j++) 
                                a[i][j] = rand()%200;
                break;
        case 1:
                for (i=0; i<n; i++)
                        for (j=0; j<m; j++)
                        {
                                printf ("A[%i][%i]= ", i+1, j+1);
                                scanf ("%i", &a[i][j]);
                        }
                
        }
        max=min=a[0][0];
                for (i=0; i<n; i++)
        {
                for (j=0; j<m; j++)
                    {
                    printf ("%i ", a[i][j]);
                    
                    if (max < a[i][j]) {max = a[i][j]; maxj=j;} 
                    if (min > a[i][j]) {min = a[i][j];minj = j ;}
                    }
                    printf ("\n");
                    
        }
        system("PAUSE");
        printf("\n\n%d\n%d\nmaxj=%d\nminj=%d\n",max,min,maxj,minj);
        for (i=0; i<n; i++)// меняем
        {
                for (j=0; j<m; j++)
                {
                   if (j==minj)  
                                 {
                                 t=a[i][j]; a[i][j]=a[i][maxj]; a[i][maxj]=t;// здесь должно менять
                                 } 
                   
                }
                for (j=0; j<m; j++)
                    
                    printf ("%i ", a[i][j]);
                    printf ("\n");
                    
        }
       system("PAUSE");
}
Добавлено через 23 минуты
UnknownPlayer, вот, скинул выше
0
UnknownPlayer
9 / 9 / 9
Регистрация: 30.05.2015
Сообщений: 28
03.06.2015, 20:11 6
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main ()
{
        FILE *f,*g;
        int i, j, m, n, v, minj=0,maxj=0,t ;
    //    printf (" Введите размер матрицы ");
   //     scanf ("%i %i", &n, &m);
        int a[100][100], max, min;
    /*    
        switch (v)
        {
        case 0:
                for (i=0; i<n; i++)
                        for (j=0; j<m; j++) 
                                a[i][j] = rand()%200;
                break;
        case 1:
                for (i=0; i<n; i++)
                        for (j=0; j<m; j++)
                        {
                                printf ("A[%i][%i]= ", i+1, j+1);
                                scanf ("%i", &a[i][j]);
                        }
                
        }
        */
 
 if (!(f=fopen("input.txt","r")))
 return(-1);
  else
  {
    fscanf (f,"%i %i",&n,&m);
    for (i=0;i<n;i++)
    for (j=0; j<m; j++)
     fscanf (f,"%i",&a[i][j]);
 fclose(f);
  }
        
        max=min=a[0][0];
                for (i=0; i<n; i++)
        {
                for (j=0; j<m; j++)
                    {
                    printf ("%i ", a[i][j]);
                    
                    if (max < a[i][j]) {max = a[i][j]; maxj=j;} 
                    if (min > a[i][j]) {min = a[i][j];minj = j ;}
                    }
                    printf ("\n");
                    
        }
        system("PAUSE");
        printf("\n\n%d\n%d\nmaxj=%d\nminj=%d\n",max,min,maxj,minj);
        for (i=0; i<n; i++)// меняем
        {
                for (j=0; j<m; j++)
                {
                   if (j==minj)  
                                 {
                                 t=a[i][j]; a[i][j]=a[i][maxj]; a[i][maxj]=t;// здесь должно менять
                                 } 
                   
                }
                for (j=0; j<m; j++)
                    
                    printf ("%i ", a[i][j]);
                    printf ("\n");
                    
        }
        
 if (!(f=fopen("output.txt","w")))
 return(-1);
  else
  {
    fprintf(f,"%i %i ",n,m);
    for (i=0;i<n;i++)
    for (j=0; j<m; j++)
    {
     fprintf(f,"%i",a[i][j]);
     if ((i!=n-1)||(j!=m-1)) fprintf(f," ");
    }
 fclose(f);
  }
  
       system("PAUSE");
}
Файл Input.txt:
3 3 1 2 3 4 5 6 7 8 9
Output.txt:
3 3 3 2 1 6 5 4 9 8 7
Код перестановки элементов матрицы я не менял, он разве так должен работать?
1
LaCokaNostra
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 6
03.06.2015, 20:19  [ТС] 7
UnknownPlayer, честно говоря он меня тоже смущает немного... я пытался поменять...ни в какую
0
UnknownPlayer
9 / 9 / 9
Регистрация: 30.05.2015
Сообщений: 28
03.06.2015, 20:27 8
Лучший ответ Сообщение было отмечено LaCokaNostra как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main ()
{
        FILE *f,*g;
    int i, j, m, n, v, minj=0,maxj=0,t,mini=0,maxi=0;
    //    printf (" Введите размер матрицы ");
   //     scanf ("%i %i", &n, &m);
        int a[100][100], max, min;
    /*    
        switch (v)
        {
        case 0:
                for (i=0; i<n; i++)
                        for (j=0; j<m; j++) 
                                a[i][j] = rand()%200;
                break;
        case 1:
                for (i=0; i<n; i++)
                        for (j=0; j<m; j++)
                        {
                                printf ("A[%i][%i]= ", i+1, j+1);
                                scanf ("%i", &a[i][j]);
                        }
                
        }
        */
 
 if (!(f=fopen("input.txt","r")))
 return(-1);
  else
  {
    fscanf (f,"%i %i",&n,&m);
    for (i=0;i<n;i++)
    for (j=0; j<m; j++)
     fscanf (f,"%i",&a[i][j]);
 fclose(f);
  }
        
        max=min=a[0][0];
                for (i=0; i<n; i++)
        {
                for (j=0; j<m; j++)
                    {
                    printf ("%i ", a[i][j]);
                    
            if (max < a[i][j]) {max = a[i][j]; maxj=j;maxi=i;}
            if (min > a[i][j]) {min = a[i][j];minj = j ;mini=i;}
                    }
                    printf ("\n");
                    
        }
        system("PAUSE");
        printf("\n\n%d\n%d\nmaxj=%d\nminj=%d\n",max,min,maxj,minj);
     /*   for (i=0; i<n; i++)// меняем
        {
                for (j=0; j<m; j++)
                {
                   if (j==minj)  
                                 {
                                 t=a[i][j]; a[i][j]=a[i][maxj]; a[i][maxj]=t;// здесь должно менять
                                 } 
                   
                }
                for (j=0; j<m; j++)
                    
                    printf ("%i ", a[i][j]);
                    printf ("\n");
                    
        }*/
        t=a[maxi][maxj]; a[maxi][maxj]=a[mini][minj]; a[mini][minj]=t;// здесь должно менять
    
        
 if (!(f=fopen("output.txt","w")))
 return(-1);
  else
  {
    fprintf(f,"%i %i ",n,m);
    for (i=0;i<n;i++)
    for (j=0; j<m; j++)
    {
     fprintf(f,"%i",a[i][j]);
     if ((i!=n-1)||(j!=m-1)) fprintf(f," ");
    }
 fclose(f);
  }
  
       system("PAUSE");
}
1
03.06.2015, 20:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2015, 20:27

Чтение из *.txt, запись в структуру, потом в бинарный файл
Здравствуйте! Открывать файл я открываю, считывание проходит. Но при записи в структуру...

Запись текста в файл\вывод его на экран\сохранение\считывание информации из файла
Ввести текст произвольного содержания в память ПЭВМ. Вывести на экран. Записать текст в файл. ...

Переписать компоненты файла 1.txt в файл 3.txt так, чтобы в файле 3.txt числа шли в определенном порядке
Дан файл 1.txt, компоненты которого являются целыми числами.Файл 1.txt содержит столько же...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru