Помогите исправить код

include<iostream>

include <fstream>

using namespace std;
const int n = 3;
struct Link
{
int data;
Link next;
};
int readFromFile(const char fileName, int& count, int& m)
{
Link
first = 0;
Link last = 0;
Link
link;
ifstream in(fileName);
int d;
count = 0;
while (in >> d)
{
count++;
link = new Link;
link->data = d;
link->next = 0;
if (last == 0)
{
first = last = link;
}
else
{
last->next = link;
}
last = link;
}
m = (count / n) + 1;
int
arr = new int
[m];
link = first;
for (int i = 0; i < m; i++)
{
arr[i] = new int[n];
}
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{

        if (link == 0)
        {
            arr[i][j] = 0;
        }
        else
        {
            arr[i][j] = link->data;
            link = link->next;
        }
    }
}
while (first)
{
    link = first;
    first = first->next;
    delete link;
}
return arr;

}
void outToFile(const char filename, int arr, int m)
{
ofstream out(filename);
int min;
int i = 0, j = 0;
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
if (arr[i][j] % 2 == -1)
{
arr[i][j]
= 2;
}
}
}
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
out << '\t' << arr[i][j];
}
out << endl;
}
double* c = new double[m];//второй шаг
for (int i = 0; i < m; i++)
{
c[i] = 1;
for (int j = 0; j < n; j++)
{
if (arr[i][j] > 0)
{
double bar = log10(arr[i][j]);
bar += bar;
c[i] = bar;
}
else if (arr[i][0] < 0 && arr[i][1] < 0 && arr[i][2] < 0)
{
c[i] = 0;
cout << «There is no positive element in a row number » << i << endl;
break;
}
}
}

for (int i = 0; i < m; i++)
{
    cout << c[i] << " ";
}
delete[] c;

}

int main()
{
int m;
int count = 0;
int** arr = readFromFile(«data.txt», count, m);
outToFile(«results.txt», arr, m);
delete[] arr;
return 0;
}

Неправильно высчитывается количество строк «m = (count / n) + 1;», формула работает неправильно если в файле количество чисел кратно «n» при этом мы получаем лишнюю строку, заполненную нулями. Результаты второго шага не записываються в файл «results.txt».

Попробовал, что могу сказать. Никакой include вообще не читает, не знаю что делать, если возможность помочь — помогите, буду рад.
Если так важно использую Visual Studio Code

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.