2016-12-27 5 views
1

Мне нужно построить матрицу. И мне нужно использовать двойной тип данных. В то же время, данные будут введены пользователем. Но когда данные вводятся; программа компилятора говорит: «МАССИВНЫЙ ПОДПИСКИ НЕ ИНТЕГРИРУЕТ». Но мне нужно использовать двойные данные.двойной тип данных в матрице


#include <stdio.h> 
#include <stdlib.h> 

int main(int argc, char *argv[]) { 
    double matris[3][4]; 
    double i; 
    double j; 
    printf("Please Enter Number for Matris:\n"); 
    for (i = 0; i < 3; i++) { 
     for (j = 0; j < 4; j++) { 
      scanf("%lf", &matris[i][j]); 
     } 
    } 
    for (i = 0; i < 3; i++) { 
     for (j = 0; j < 4; j++) { 
      printf("%f", &matris[i][j]); 
     } 
    } 
    return 0; 
} 

+1

Вам нужно «двойное» для предметов, а не индексов. –

+0

И вам действительно нужно отформатировать свой код, но действительно –

+0

Тогда вы должны сделать их целыми числами. – user3528438

ответ

0

Индекс массива, как индекс в массиве. Это не то же самое, что тип данных в массиве.

Кроме того, следите за спецификатором формата и тем, что вы печатаете, когда вы выводите массив после этого. Не печатайте адрес.

int main() { 
    double matris[3][4]; 
    int i;//<------ 
    int j;//<------ 


    printf("Please Enter Number for Matris:\n"); 

    for (i = 0; i < 3; i++) { 
     for (j = 0; j < 4; j++) { 
      scanf("%lf", &matris[i][j]); 
     } 
    } 


    for (i = 0; i < 3; i++) { 
     for (j = 0; j < 4; j++) { 
      printf("%f ", matris[i][j]); //<------ 
     } 
     printf("\n"); 
    } 

    return 0; 
} 
+0

Правильно ли писать% f вместо% lf в строке 'printf («% f », matris [i] [j]) ; ' –

+0

@ Sanjay-sopho Я так считаю (scanf) http://stackoverflow.com/questions/4264127/correct-format-specifier-for-double-in-printf – doctorlove

+0

Спасибо. Получил что-то очищенное. –

Смежные вопросы