Геннадий
4 год назад
Такие дела, компилятор ругается на вызов функций in_mass и out_mass в main. Как вызвать правильно двухмерные массивы ? #include <stdio.h>#include <math.h>void in_mass(int **m, int n, int N ){int i, j;for(i=0;i<n;i++){for(j=0;j<N;j++)scanf("%d",&m[i][j]);}}void out_mass(int **m, int n, int N){int i, j;printf("Your massive :");for(i=0;i<n;i++){ for(j=0;j<N;j++) printf("%d n",m[i][j]);}}int main (void){int k, m;in_mass(&m[0][0],5, 4); //ругается тутout_mass(&m[0][0],5, 4); // и тутreturn 0;}
ОТВЕТЫ
Gaines Jayson
Oct 24, 2020
Если массив статический, то можно так:
#include <stdio.h>
#include <math.h>
double LOG_b_A(double a, double b)
{
return log(b)/log(a);
}
void in_mass(int* mas, int n, int m)
{
for(int i=0; i<n; i++) {
for(int j=0; j<m; j++) scanf("%d",&mas[i*m+j]);
}
}
void out_mass(int* mas, int n, int m)
{
printf("Your massive :n");
for(int i=0; i<n; i++) {
for(int j=0; j<m; j++) printf("%d ",mas[i*m+j]);
printf("n");
}
}
int main (void)
{
double x,y,z;
const int n = 2;
const int m = 4;
int a[n][m];
scanf("%lf %lf", &x ,&y);
z=LOG_b_A(x,y);
printf("z=%7.3lf n",z);
in_mass(a,n,m);
out_mass(a,n,m);
return 0;
}
Пример (для массива 2*4):
7 5
45
12
65
30
78
40
89
43
z=0.827
Your massive :
45 12 65 30
78 40 89 43
#include <stdio.h>
#include <math.h>
double LOG_b_A(double a, double b)
{
return log(b)/log(a);
}
void in_mass(int* mas, int n, int m)
{
for(int i=0; i<n; i++) {
for(int j=0; j<m; j++) scanf("%d",&mas[i*m+j]);
}
}
void out_mass(int* mas, int n, int m)
{
printf("Your massive :n");
for(int i=0; i<n; i++) {
for(int j=0; j<m; j++) printf("%d ",mas[i*m+j]);
printf("n");
}
}
int main (void)
{
double x,y,z;
const int n = 2;
const int m = 4;
int a[n][m];
scanf("%lf %lf", &x ,&y);
z=LOG_b_A(x,y);
printf("z=%7.3lf n",z);
in_mass(a,n,m);
out_mass(a,n,m);
return 0;
}
Пример (для массива 2*4):
7 5
45
12
65
30
78
40
89
43
z=0.827
Your massive :
45 12 65 30
78 40 89 43
309
Смежные вопросы: