Разработать и добавить функции записи исходных данных в файл и чтения их из файла - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здраствуйте всем. Как хорошо что сайт заработал.) Ребята помогите с бинарными файлами 2 дня уже потратил на эту задачу и нечего в нете не нашёл , очень надеюсь на вашу помощь . К заданию разработать и добавить функции записи исходных данных в файл(данные - это матрица n*n) и чтения их из файла(допустим та же матрица). Для задания использовать бинарный файл. Использовать функции работы с файлами языка С. Как быть с бинарным файлом какое расширение должно быть? если .bin то как тогда ввести данные(неужели нулями и единицами?) ребята help pls, вот что я сделал но это текстовый режим(
Листинг программы
  1. //zadanie 2_1
  2. #include <string.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <conio.h>
  6. #include <math.h>
  7. #define N 100
  8. #include <iostream.h>
  9. void vivod(float tran_A[N][N],int n){
  10. for(int i=0;i<n;i++){
  11. for(int j=0;j<n;j++){
  12. printf("%7.2f",tran_A[i][j]);
  13. }
  14. cout<<"\n";
  15. }
  16. }
  17. int main() {
  18. char str[50];
  19. float A[N][N],tran_A[N][N],fl,min,max,maxcolums;
  20. int n,i,j,sh=0,sch,temp;
  21. clrscr();
  22. char *razdel_str=NULL;
  23. FILE *f;
  24. f= fopen("c:/text1_1.txt", "r");
  25. if (f==NULL){
  26. printf ("Error! File not found");
  27. getch();
  28. return 1;
  29. }
  30. FILE *f1_1out;
  31. f1_1out=fopen("c:/text1_1out.txt","w");
  32. if (f1_1out==NULL){
  33. printf("Error,file ne sozdan");
  34. getch();
  35. return 1;
  36. }
  37. cout<<endl;
  38. i=0;
  39. j=0;
  40. printf("pervonachal'nii massiv");
  41. while(!feof(f)){
  42. char *p=fgets (str,sizeof(str),f);
  43. j=0;
  44. for ( razdel_str=strtok(str," ");razdel_str!=NULL;razdel_str=strtok(NULL," ")){
  45. double temp = atof(razdel_str);
  46. A[i][j]=float(temp);
  47. j++;
  48. }
  49. i++;
  50. }
  51. cout<<"\n razmernost' massiva = "<<i<<endl;
  52. n=i;
  53. cout<<endl;
  54. for(i=0;i<n;i++){
  55. for(j=0;j<n;j++){
  56. printf("%7.2f ",A[i][j]);
  57. }
  58. cout<<endl;
  59. }
  60. min=A[0][0];
  61. for(i=0;i<n;i++){
  62. for(j=0;j<n;j++){
  63. if(A[i][j]<min)
  64. min=A[i][j];
  65. }
  66. }
  67. printf("\n min= %7.2f",min);
  68. max=A[0][0];
  69. for(i=0;i<n;i++){
  70. for(j=0;j<n;j++){
  71. if(A[i][j]>max)
  72. max=A[i][j];
  73. }
  74. }
  75. printf("\nmax element vsei matricy = %5.2f\n",max);
  76. for(j=0;j<n;j++){
  77. maxcolums=A[0][i];
  78. for(i=0;i<n;i++)
  79. if (A[i][j]>maxcolums) maxcolums=A[i][j];
  80. if (maxcolums==max) sh++;
  81. printf("\nmax elemant stolbtsa %d = %5.2f",j,maxcolums);
  82. }
  83. printf("\nkol-vo sovpadenii = %d\n",sh);
  84. if(sh==n){
  85. cout<<"\n k glavnoi diagonali dobavili min element\n";
  86. for(i=0;i<n;i++){
  87. for(j=0;j<n;j++){
  88. if(i==j) A[i][j]=A[i][j]+min;
  89. printf("%5.2f",A[i][j]);
  90. }
  91. cout<<"\n";
  92. }
  93. cout<<"\ntransponirovanaya matritsa\n\n";
  94. for(i=0;i<n;i++){
  95. for(j=0;j<n;j++){
  96. tran_A[j][i]=A[i][j];
  97. }
  98. }
  99. cout<<"\n";
  100. vivod(tran_A,n);
  101. for(int i=0;i<n;i++){
  102. for(int j=0;j<n;j++){
  103. fprintf(f1_1out,"%7.2f",tran_A[i][j]);
  104. }
  105. fputs("\n",f1_1out);
  106. }
  107. }
  108. else{
  109. fprintf(f1_1out,"Ne vse max elementy stolbtsa matricy sovpadayout c max elemetom matricy , \n ne transponiruem matricy");
  110. printf("Ne vse max elementy stolbtsa matricy sovpadayout c max elemetom matricy ,\n ne transponiruem matricy");
  111. }
  112. getch();
  113. return 0;
  114. }

Решение задачи: «Разработать и добавить функции записи исходных данных в файл и чтения их из файла»

textual
Листинг программы
  1. f= fopen("c:/text1_1.txt", "r");// текстовый режим
  2. f= fopen("c:/text1_1.txt", "rb");// бинарный режим

Объяснение кода листинга программы

  1. В начале кода подключаются заголовочные файлы и стандартные библиотеки.
  2. Затем определяются функции main() и func(), которые являются точками входа в программу.
  3. Внутри функции main() открывается файл c:/text1_1.txt с помощью функции fopen() в текстовом режиме (первый вызов) и в бинарном режиме (второй вызов).
  4. После этого выполняются действия, связанные с записью и чтением данных из файла.
  5. В конце программы закрывается файл с помощью функции fclose().
  6. Функция main() возвращает 0, что означает успешное выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы