Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите перевести 8-мь строк в программе на си

71K
18 мая 2011 года
Evg Pol
1 / / 18.05.2011
Дана матрица А(15,15), сформированная случайным образом из целых чисел диапазона [-5,5]. Найти и
вывести на печать среднее геометрическое элементов, вокруг которых (слева, справа, сверху и снизу) стоят
нули. Вывести результат на экран

#include <stdio.h> // Для средств ввода-вывода
#include <stdlib.h> //Для функции system
#include <time.h>
#include <math.h> //Для функции tan

int main(){
int i, j;
int a[15][15];
float res;
int s=1, st=0;
srand(time(NULL));
printf("\n\n\n");
for (i = 0;i<15;i++)
for (j = 0;j<15;j++)
a[j] = rand()%10 - 5; //Заданное условие при данных параметрах достигается очень редко.
//Для отладки рекомендуется rand()%3
for (i = 0;i != 15;i++)
{
for (j = 0;j != 15;j++)

printf("\n"); //Отладочный вывод
}

for (i = 1;i<14;i++)
for (j = 1;j<14;j++)
if (a[i-1][j] == 0 && a[i+1][j] == 0 && a[j-1] == 0 && a[j+1] == 0 && a[j] != 0)
{
s *= a[j]; //Выражение по корнем...
st++; //...и степень корня
}

if (st != 0) //Если условие выполнилось хотя бы раз
{
res = pow(s,(float)1/st);
printf("\n\n\n");
printf("Result: %f | %d", res, st); }
else printf("\n\n\nNet takih elementov\n");
return 0;}
Нашел свой вариант в интернете а как объяснять некоторые строки именно в этой проге ума не приложу.Пожалуйста помогите объяснить строки :
1. float res;
2. srand(time(NULL));
3. printf("\n\n\n");
4. a[j] = rand()%10 - 5;
5.s *= a[j];
6. st++
7. if (st != 0)
8. res = pow(s,(float)1/st)
277
19 мая 2011 года
arrjj
1.7K / / 26.01.2011
:facepalm:
1. float res;
объявление переменной res типа float (числовые данные с плавающей точкой)
2. srand(time(NULL));
инициализация начального значения генератора случайных чисел (без этого при каждом запуске программы rand() будет выводить теже самые числа)
3. printf("\n\n\n");
выводим на экран 3 переноса строки
4. a[j] = rand()%10 - 5;
a[j] равно случайное число в диапазоне от -5 до 4
5.s *= a[j];
s=s*a[j]
6. st++
st=st+1
7. if (st != 0)
если st не равен 0
8. res = pow(s,(float)1/st)
res = s в степени 1/st (корень st-степени из s)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог