Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Не могу исправить ошибки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Копировать содержимое в другой файл с заменой всех маленьких букв на большие http://www.cyberforum.ru/cpp-beginners/thread1079309.html
написать функцию, получающую в качестве параметра имя текстового файла и копирующую его содержимое в другой файл с заме- ной всех маленьких букв на большие
C++ Куда следует пойти туристам, что бы попасть на автобусную остановку? можете мне помочь с задачей. надо решить на С++ Туристы вышли из леса на шоссе неподалеку от километрового столба с отметкой А км и решили пойти на ближайшую автобусную остановку. Посмотрев на план... http://www.cyberforum.ru/cpp-beginners/thread1079276.html
Крэш программы на одном ПК C++
Доброго времени суток, в с++ я пока только осваиваю азы и т.п. Серверное приложение для не особо сложных манипуляций, но написано не мной, я только пытаюсь разбираться в коде), недавно заметил...
Числа по основанию 2 и 8. Выполнить операцию умножения. C++
помогите исправить код условие задачи: Числа по основанию 2 и 8. Выполнить операцию умножения. #include <iostream> #include <cmath> #include <stdio.h> using namespace std; int main()...
C++ Написать программу перевода из 10 сс в 16 сс. http://www.cyberforum.ru/cpp-beginners/thread1079237.html
помогите написать программу перевода из 10 сс в 16 сс (целая и дробная часть) и числа >10 заменить соответственно на A,B,C...
C++ Калькулятор (обратная польская запись) Есть калькулятор к нему нужно добавить "(", ")".Погуглив понял, что нужно внедрять обратную польскую запись.Помогите внедрить или подскажите другой метод. подробнее

Показать сообщение отдельно
Sky_line
Сообщений: n/a

Не могу исправить ошибки - C++

23.01.2014, 12:33. Просмотров 199. Ответов 0
Метки (Все метки)

Суть постановки задачи: Написать программу. Не квадратную матрицу заполнить таким образом : элементами, которые находятся по периметру матрицы, присвоить значение 1; периметру под матрицы которая осталась - значение 2 и так до конца заполнения матрицы. Программа была написана успешно. Она работает. Но надо расписать ее по функциям в таком виде:
1. Создание матрицы и выполнение задания.
2. Сохранение матрицы в файл.
3. Загрузка из файла.
4. Выход.

После разбития ее на функции она не работает и выдает ошибку. Я пошагово нашел в каком месте она крашиться но сути ошибки понять не могу. Вот код:


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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
[SIZE="1"][SIZE="1"]//---------------------------------------------------------------------------
 
#pragma hdrstop
#include <fstream.h>
#include <iostream.h>
#include <conio.h>
 
//---------------------------------------------------------------------------
 
#pragma argsused
//create matrix
void create(int **&matrix, int &row, int &col)
{  int i,j;
cout << " Vvedite kolvo strok: ";
cin >> row;
cout << " Vvedite kolvo stolbcov: ";
cin >> col;
}
 
//----------------------------------------------------------------------------
 
void vupolneniezadania (int **&matrix, int &row, int &col)
{
int k, i,j;
for (int k = 1;k<=row;k++)
{
    for (int i = k;i<=row-k+1;i++)
{
        for (int j = k;j<=col-k+1;j++)
{
matrix[i][j] = k;
}
}
    if (k == row/2)
    if (k == col/2);
}
}
//----------------------------------------------------------------------------
 
void print (int **matrix, int row, int col)
{
//int i,j;
for (int i = 0;i<=row;i++)
    {
        for (int j = 0;j<=col;j++)
        {
        cout<<matrix[i][j]<<" ";
        cout<<endl;
      }
}
}
//----------------------------------------------------------------------------
 
void zagruzka(char *FileName, int **matrix, int &row, int &col)
{
  fstream f(FileName, ios::in);
  if (f);
  {
    f >>row>>col;
    matrix= new int*[row];
     for (int i=0; i<row ; i++)
      matrix[i]=new int [col];
     for (int i=0; i<row ; i++)
     {
       for (int j=0; j<col; j++)
         f<<matrix[i][j]<<" ";
         cout<<endl;
       }
     }
 f.close();
}
 
//----------------------------------------------------------------------------
 
void savetofile(char *FileName, int **matrix, int row, int col)
  {
    fstream f(FileName, ios::out);
    if(f);
    {
    f<< row<<' '<<col<<' ';
    for (int i=0; i<row; i++)
     for (int j=0; j<col; j++)
      f<<matrix[i][j]<<' ';
    f.close();
     }
    }
 
//---------------------------------------------------------------------------
 
 
 
 
int Menu()
{
int punkt;
clrscr();
cout<<"\n Menu"<<
"\n 1.Sozdanie Matrizu"<<
"\n 2.Sohranenie matricu"<<
"\n 3.Zagruzka Matricu iz faila"<<
"\n 4.Exit"<<endl<<"\n Punkt menu:";
  cin>>punkt;
  return punkt;
}
 
int main(int argc, char* argv[])
{
  int **mass, *v;
  int row,col;
  int punkt;
 
 do
 {
 
 punkt = Menu();
 switch(punkt)
 {
 case 1:
 
         {create(mass,row,col);
          vupolneniezadania(mass,row,col);
          print(mass,row,col);
         }
         break;
 
 case 2:
 
         {
          savetofile("925.txt", mass, row, col);
         }
          break;
 
 case 3:
 
         {
         zagruzka("925.txt", mass, row, col);
         print(mass,row,col);
         }
         break;
         }
   getch();
 }
 
 while (punkt!=4);
 }
 
//---------------------------------------------------------------------------
 
[/SIZE][/SIZE]


Вот ошибка которую выдает в строчке matrix[i][j] = k; и не только в этой http://www.cyberforum.ru/attachment....1&d=1390465773

А вот в этой строке пишет что код неэфективен
if (k == col/2)

Помогите исправить ошибки пожалуста
Миниатюры
Не могу исправить ошибки  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru