MłodyPatol Temat założony przez niniejszego użytkownika |
Macierze, wczytywanie z pliku » 2017-05-22 10:57:19 Czemu program Visual Studio 2017 nie chce mi poprawnie skompilować tego kodu? Jestem pewien że dane do plików podaje dobrze.
#pragma warning (disable: 4996) #include "stdafx.h" #pragma warning (disable: 4244) #include <stdio.h> #include <stdlib.h> int n, m, n1, m1;
int main() { int i, j, k;
FILE *FileIn, *FileOut, *FileIn1; FileIn = fopen("input.txt", "r"); FileOut = fopen("output.txt", "w"); FileIn1 = fopen("input1.txt", "r"); fscanf(FileIn, "%d %d", &n, &m); fscanf(FileIn1, "%d %d", &n1, &m1); //printf("%d, %d, %d, %d", n, m, n1, m1); //**************************************** int **a, **b, **c; //*************************************** a = (int**)malloc(n * sizeof(int*)); for (i = 0; i < n; i++) { a = (int*)malloc(m * sizeof(int)); } //*************************************** b = (int**)malloc(n1 * sizeof(int*)); for (i = 0; i < n1; i++) { b = (int*)malloc(m1 * sizeof(int)); } //************************************** c = (int**)malloc(n * sizeof(int*)); for (i = 0; i < n; i++) { c = (int*)malloc(m * sizeof(int)); } //********************************* //*********************************
for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { fscanf(FileIn, "%d", &a[j]); } } //*********************************** for (i = 0; i < n1; i++) { for (j = 0; j < m1; j++) { fscanf(FileIn1, "%d", &b[j]); } }
//******************* //******************* //******************* for (i = 0; i < n; i++) for (j = 0; j < m; j++) c[j] = 0;
for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { for (k = 0; k < m; k++) { c[j] = c[j] + a[k] * b[k][j];
} printf("%d :", c[j]); fprintf(FileOut, "%d ", c[j]); } printf("\n"); fprintf(FileOut, "\n"); }
}
+ Kolejne pytanie w stylu znajdz błąd (mnozenie macierzy przez wektor)
void mnozenie(int **tab, int *wek, int *wekN, int i, int j, int n, int m) { for (i = 0; i<n; i++) { wekN = 0; for (j = 0; j<m; j++) { wekN += wek[j] * tab[j]; } } } |