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

Ошибка, связанная с массивами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с файлами. Язык С http://www.cyberforum.ru/cpp-beginners/thread49193.html
существует такой код int c; FILE *f=fopen("C:/test.txt", "r"); c=getc(f); char a;
C++ Расшифровать цикл Здравствуйте! Помогите,если кто может, понять вот этот кусок кода,что он делает,желательно чтоб было понятно. for(j = 0; j < 10; j++) if(sqrs ==i) break; из вот этого исходника: http://www.cyberforum.ru/cpp-beginners/thread49190.html
++N C++
в чем отличие ++а от а++?
Использование toupper() C++
Не знаю почему, но код не хочет работать, вроде уже всё прописал что нужно. Программа должна выдать на экран фразу: украина - лучшая страна в мире с большой буквы все символы. Во исходник простой...
C++ Перекодировка файла в C++ http://www.cyberforum.ru/cpp-beginners/thread49112.html
Работаю с С++ в юниксе. Компилятор - консольный gcc. Надо прочесть файлы в кодировках windows-1251, koi8-r или utf-8 и переделать в utf-8 или windows-1251, что бы вся дальнейшая работа была в одной...
C++ Работа с классами плиз помогите решить нужно написать функции которыи будут выполнять сложение, вычитание, умножение и деление допустим d1 и d3 вот то чтоу меня получилось доделать #include "stdafx.h" #include... подробнее

Показать сообщение отдельно
M128K145
Эксперт С++
8297 / 3517 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
02.09.2009, 23:07
zim22, я так подозреваю, что вот
C++
1
void WriteMatrixToFile(int **X, const int K, const int L)
только ТС в названиях запутался

Вот
так
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int **ReadMatrixFromFile(int &K, int &L); 
int **CreateMatrix(const int K, const int L); 
void FreeMatrix(int **X, const int L); 
void CountPositiveElementsIn(int **X, const int K, const int L, int **A);
void PrintMatrix(int **X, const int K, const int L);
void WriteMatrixToFile(int **A, const int K, const int L);
 
void main()
{  
        int K,L;
    printf("This program write the number of positive elemnts every row in array.\n");
        int **X=ReadMatrixFromFile(K,L);
        int **A=CreateMatrix(K,1);
    printf("Initial matrix:\n");
    PrintMatrix(X,K,L);
    CountPositiveElementsIn(X,K,L,A);
    printf("Result array:\n");
        PrintMatrix(A,K,1);
    WriteArrayToFile(X,K,1);
        FreeMatrix(X,K);
        FreeMatrix(A,K);
        printf("The program work is completed. For exiting press Enter.\n");
        getch();
}
 
void CountPositiveElementsIn(int **X, const int K, const int L, int **A)
{
        int i,j,z;
        for (i=0;i<K;i++)
        {
        for(j=0;j<L;j++)
                {
                        if (X[i][j]>0)
                        {
                                A[z]++;
                        }
                }
        }
}
 
void PrintMatrix(int **X, const int K, const int L)
{
        int i,j;
        for (i=0;i<K;i++)
        {
                for (j=0;j<L;j++)
                {
                        printf("%5i",X[i][j]);
                }
                printf("\n");
        }
}
 
void FreeMatrix(int **X, const int K)
{
        int i;
        for(i=0; i<K; i++)
        {
                delete[] X[i];
        }
        delete[] X;
}
 
int **CreateMatrix(const int K,const int L)
{
        int i;
        int ** X = new int*[K];
    for(i=0; i<K; i++)
        {
         X[i] = new int[L];
        }
        return X;
}
 
void CheckingDimensionOfMatrix(const int K, const int L)
{
        if ((K<1) || (L<1)) 
        {
                printf("Matrix has the wrong dimension, that is less than unity. For exiting press Enter.\n");
                getch();
                exit(1);
        }
}
 
int **ReadMatrixFromFile(int &K, int &L)
{
        FILE *InputFile;
        char PathIn[25];
        int i,j;
        printf("Enter a path for input file: ");
    scanf("%s",PathIn); 
        if ((InputFile=fopen(PathIn, "r")) == NULL )
        {
                perror(PathIn);
                exit;
        }
        fscanf(InputFile,"%d ",&K);
    fscanf(InputFile,"%d ",&L);
        CheckingDimensionOfMatrix(K,L);
        int ** X=CreateMatrix(K,L); 
        for (i=0;i<K;i++)
        {
         for (j=0;j<L;j++)
            fscanf (InputFile,"%d ",&X[i][j]);
        }
        fclose(InputFile); 
        return X;
}
 
void WriteMatrixToFile(int **X, const int K, const int L)
{
        int i,j;
        FILE *OutputFile;
        char PathOut[25];
        printf("Enter a path for output result file: ");
    scanf("%s",PathOut);  
    OutputFile=fopen(PathOut,"w+");
        for (i=0;i<K;i++)
        {
        for (j=0;j<L;j++)
                {
                        fprintf(OutputFile,"%4d",X[i][j]);
                }
                fprintf(OutputFile,"\n");
        }
        fclose(OutputFile);     
}
должно работать
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru