Advertisement
Guest User

Untitled

a guest
May 16th, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.43 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include "stdio.h"
  3. #include "windows.h"
  4. #include <iostream>
  5. #include <vector>
  6. #include <cstdlib>
  7. #include <fstream>
  8.  
  9.  
  10. using namespace std;
  11.  
  12. vector<int> Sort_array(int Matrix[],int n){
  13. vector<int> sort;//вектор для сортировки массива по условию
  14. int min=Matrix[0];
  15. int imin;//index of minimum
  16. for(int i=0;i<n;i++){
  17. if(Matrix[i]<min){
  18. min=Matrix[i];
  19. imin=i;
  20. }
  21. }
  22. if (imin%2==0){
  23. for (int i=2;i<n;i+=3){
  24. Matrix[i]=0;}
  25. }
  26. else{
  27. for (int i=2;i<n;i+=3){
  28. Matrix[i]=Matrix[0]+Matrix[n-1];}
  29. }
  30. for(int i=0;i<n;i++){
  31. sort.push_back(Matrix[i]);}
  32. for(int i=0;i<sort.size();i++){
  33. cout<<i<<" ";}
  34. cout<<endl;
  35. for(int i=0;i<sort.size();i++){
  36. cout<<sort[i]<<" ";
  37.  
  38. }
  39. return sort;
  40. }
  41.  
  42. int* ReadRecord(int n){
  43. int *Matrix = new int [n];
  44. for (int i=0;i<n;i++){
  45. Matrix[i]=rand()%100;
  46. }
  47. FILE *fp;
  48. fp=fopen("NAME.txt","w");//файл искать там куда сохраняешь проект вижуал (те имя Visual>project_name>project_name(FILE)).
  49. //запись в файл
  50. ofstream fout ("NAME.txt");
  51. if(!fout.is_open()){cout<<"Файл не найден!"<<endl;}
  52. else{
  53. for (int i=0;i<n;i++){
  54. fout<<i<<" ";
  55. }
  56. fout<<endl;
  57. for (int i=0;i<n;i++){
  58. fout<<Matrix[i]<<" ";}
  59. }
  60. fseek(fp,0,SEEK_END);
  61. int _size=ftell(fp);
  62. char *buff=new char[_size+1];
  63. fseek(fp,0,SEEK_SET);
  64. fclose(fp);
  65. //чтение из файла
  66. fout.close();
  67.  
  68. ifstream fin ("NAME.txt");
  69. if(!fin.is_open()){cout<<"Файл не найден!"<<endl;}
  70. else{
  71. int err=fread(buff,_size,1,fp);}
  72.  
  73. fin.close();
  74. vector<int> localv;
  75. int locv,flag;
  76. for (int i=0;i<_size+1;i++){
  77. flag=0;
  78. char loc[10];
  79. if (buff[i]>='0' && buff[i]<='9'){
  80. flag=1;
  81. for(int j=0;j<sizeof(buff)-1;j++){
  82. if(buff[i+1]!=' '){
  83. loc[j]=buff[i];
  84. loc[j+1]=buff[i+1];
  85. i++;}
  86. if(buff[i+1]==' '){
  87. break;
  88. i=j;
  89. }
  90. }
  91. locv=atoi(loc);//atoi объединяет цифры в число на пример были 2 и 7, станет 27
  92. //free (loc);
  93. //loc[0]='/0';
  94. memset(loc, '\0',sizeof(loc));//очищаем временный массив для перезаписи
  95. memset(buff, '\0', sizeof (buff));//очищаем массив для перезаписи
  96. }
  97.  
  98. if(flag==1){
  99. localv.push_back(locv);}
  100. }
  101.  
  102. for(int i=0;i<localv.size();i++){
  103. localv[i]=Matrix[i];
  104. }
  105. return Matrix;
  106. }
  107.  
  108.  
  109. void RecordOnly(vector<int> sort){
  110. FILE *fp;
  111. fp=fopen("NAME1.txt","w");
  112. ofstream fout ("NAME1.txt");
  113. if(!fout.is_open()){cout<<"Файл не найден!"<<endl;}
  114. else{
  115. for(int i=0;i<sort.size();i++){
  116. fout<<i<<" ";}
  117. fout<<endl;
  118. for (int i=0;i<sort.size();i++){
  119. fout<<sort[i]<<" ";
  120. }}
  121. fclose(fp);
  122. }
  123.  
  124.  
  125. int main()
  126. {
  127. setlocale(LC_ALL, "rus");
  128. int n;
  129. cout<<"ВВедите кол-во элементов:"<<endl;
  130. cin>>n;
  131. int* Matrix;
  132. vector<int> sort;
  133. Matrix=ReadRecord(n);
  134. sort=Sort_array(Matrix,n);
  135. RecordOnly(sort);
  136. system("pause");
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement