Программа не работает с вещественными числами - C (СИ)
Формулировка задачи:
Доброй ночи! Проблемма в том, что программа почему то не работает с вещественными числами, с типом int всё прекрасно. С типом float, никокой реакции, ошибок тоже никаких не выбивает. Подскажите в чём проблемма
#include <stdio.h>
#include <stdlib.h>
main()
{
int i,j,max_i,min_j;
float mas[7][7],max,min,pr=1;
clrscr();
printf("vvedite elementi massiva:\n");
for ( i=0; i<3; i++)
{
for ( j=0; j<3; j++)
scanf ("%f", &mas[i][j]);
}
max=mas[0][0];
min=mas[0][0];
printf("ishodniy massiv:\n");
for( i=0; i<3; i++)
{ for( j=0; j<3; j++)
{ printf("%f ",mas[i][j]);
if(mas[i][j]>max)
{ max=mas[i][j];
max_i=i;}
if(mas[i][j]<min)
{ min=mas[i][j];
min_j=j;}
}
printf("\n");
}
for ( i=0; i<3; i++)
{ pr=pr+mas[max_i][i]*mas[i][min_j];
}
printf("skalyarnoe proizvedenie:%f",pr);
getch();
}
Решение задачи: «Программа не работает с вещественными числами»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
int i, j, max_i=0, min_j=0;
float mas[3][3], max, min, pr=0.0;
printf("vvedite elementi massiva:\n");
for (i=0; i<3; i++)
{
for ( j=0; j<3; j++)
scanf ("%f", &mas[i][j]);
}
max=mas[0][0];
min=mas[0][0];
printf("ishodniy massiv:\n");
for( i=0; i<3; i++)
{ for( j=0; j<3; j++)
printf("%2.2f ",mas[i][j]);
printf("\n");
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(mas[i][j]>max)
{
max=mas[i][j];
max_i=i;
}
if(mas[i][j]<min)
{
min=mas[i][j];
min_j=j;
}
}
}
for (i=0; i<3; i++)
{
pr += mas[max_i][i] * mas[i][min_j];
}
printf("skalyarnoe proizvedenie: %2.2f",pr);
getch();
return 0;
}