carti538 написав:А можете подивитися на цей код, тому що мені потрібно елементи шукати з використанням попередніх обчислень?
https://ideone.com/c6gY7D
▼Прихований текст
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int m, n, i, j, ch, p, k ;
double A[p][k], B[p][k];
printf("Enter m: \n");
scanf("%d", &m);
printf("Enter n:\n");
scanf("%d", &n);
srand(time(NULL));
printf("use random values:Y/N \n");
scanf("%c", &ch);scanf("%c", &ch);
if(ch=='Y'){
for (i=0; i<m; i++){
printf("\n");
for(j=0; j<n; j++ ){
A[i][j]=rand()%100;
printf(" %.lf ", A[i][j]);
}
}
}
else{
printf("\nInput elements of array:\n");
for(i = 0; i < m; i++){
for(j = 0; j < n; j++){
printf("Input A[%d][%d] = ", i, j);
scanf("%d", &A[i][j]);
}
}
}
for(j=1; j<n-1; j++){
B[0][0]=A[0][0];
B[0][j]=B[0][j-1]+ A[i][j];
}
for(i=1; i<n-1; i++){
B[i][0]=B[i-1][0]+A[i][0];
for(j=1; j<n-1; j++){
B[i][j]=B[i-1][j]+B[i][j-1]+A[i][j];
}
}
for (i=0; i<m; i++){
printf("\n\n");
for(j=0; j<n; ++ j){
printf(" %.lf ", B[i][j]);
}
}
return 0;
}
Ну, по-перше, нащо писати ось так?
int m, n, i, j, ch, p, k;
Це вимога така, писати на чомусь типу С89, а не оголосити та ініціалізувати змінні ближче до місця використання?
Цих двох ви взагалі ніколи не ініціалізовуєте.
Гм, а якого розміру масиви ви хочете тут створити?
scanf("%c", &ch);scanf("%c", &ch);
Чому тут двічі виклик scanf? І, ви ж в курсі, що змінна ch у вас типу int, а формат "%c" - це тип char?
Тут взагалі UB.
І тут UB + вираз A[і][j] повертає double, а формат "%d" намагається прочитати це як int.
Вам компілятор взагалі ніяких попереджень не видав?