Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2010, 18:45   #1
Anty_F[R]eez
Пользователь
 
Регистрация: 04.06.2010
Сообщений: 11
По умолчанию немного подправит (функции)

задание : Підрахувати кількість точок, які знаходяться у колі з радіусом r з центром у початку координат; координати точок задані масивами X (100), Y (100). Відстань точки від початку координат обчислювати у функції.

Код:
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
int x[100],  y[100] ,r,z,n[100] ;
int print();
int counting();
int print ()
{
	printf ("input radius: ");
	scanf ("%i", &r);
	printf ("input amount of points: ");
	scanf ("%i", &z);

}
int cikl (int n[100])
{
	int i;
	for (i = 0; i < z; i++)
	{
		n[i]=random(20) ;

	}

}
int counting()
{
	int i, k, m;
	for (i = 0; i < z; i++) {
		m=sqrt(x[i]*x[i]+y[i]*y[i]);
		printf  ("%3i", m);
		if (m>r) {
			k++;

		}
	}
	printf("\n");
	return k;
}

void main ()
{
	int x[100];
	clrscr ();
	print ();
	cikl (x);
	cikl (y);
	printf ("%i", counting());
	getch ();


}
тут какой-то портак с выводом((( выводит всегда 0
если оформил не правильно извините
Учу С++ и многого не знаю... буду очень благодарен если вы мне поможите понять...тупо зделать не прошу и сам в этом не заинтересован!!!
Anty_F[R]eez вне форума Ответить с цитированием
Старый 04.06.2010, 18:55   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

ну значит условие не срабатывает:
Код:
if (m>r) {
   k++;
}
печатай значения m и r и проверяй, почему не срабатывает
NiCola999 вне форума Ответить с цитированием
Старый 04.06.2010, 18:58   #3
Anty_F[R]eez
Пользователь
 
Регистрация: 04.06.2010
Сообщений: 11
По умолчанию

щас проверю...
Учу С++ и многого не знаю... буду очень благодарен если вы мне поможите понять...тупо зделать не прошу и сам в этом не заинтересован!!!
Anty_F[R]eez вне форума Ответить с цитированием
Старый 04.06.2010, 19:45   #4
Anty_F[R]eez
Пользователь
 
Регистрация: 04.06.2010
Сообщений: 11
По умолчанию

что то у меня не получается можеш точно указать на ошибкуи по возможности её объяснить???
Учу С++ и многого не знаю... буду очень благодарен если вы мне поможите понять...тупо зделать не прошу и сам в этом не заинтересован!!!
Anty_F[R]eez вне форума Ответить с цитированием
Старый 04.06.2010, 19:47   #5
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

для начала переведи задание на русский язык, я не совсем его понял)
NiCola999 вне форума Ответить с цитированием
Старый 04.06.2010, 20:06   #6
Anty_F[R]eez
Пользователь
 
Регистрация: 04.06.2010
Сообщений: 11
По умолчанию

посчитать количество точек , которые находятся в круге с радиусом r , с центром в начале координат . координаты точек заданы массивами X (100), Y (100). расстояние точки от начала координат считать в функции
Учу С++ и многого не знаю... буду очень благодарен если вы мне поможите понять...тупо зделать не прошу и сам в этом не заинтересован!!!
Anty_F[R]eez вне форума Ответить с цитированием
Старый 05.06.2010, 01:30   #7
flyb1z0n
 
Регистрация: 29.05.2010
Сообщений: 4
По умолчанию Вот написал на скорую руку

Код:
#include "time.h"
#include "stdlib.h"
#include "math.h"
#include "stdio.h"
int random(int x,int i)
{
	 srand(i);
	 return (rand() % x);
}

void counting(int *x,int *y,int z,int r)//передача массива функции
{
	int i, k;
	float m;k=0;
	for (i = 0; i < z; i++) 
	{
		m=sqrt(x[i]*x[i]+y[i]*y[i]);
		printf("%lf",m);//вывод m
		printf("\t");
		if (m<r) {
			k++;
		}
	}
	printf("\n");
	printf("%i",k);	
}


int main ()
{
	int x[100],y[100],r,z;
	printf("input radius:");//ввели радиус
	scanf("%i",&r);
	printf("input amount of points:");//ввели кол-во точек
	scanf("%i",&z);
    
	int i,n;
	n=time(0);//переменная для Рандома
	for (i = 0; i < z; i++)//заполняем наши X и Y
	{
		x[i]=random(20,n);
		y[i]=random(20,z+n);//z+n чтоб передаваемая переменная была всегда разная,
		printf("%i",x[i]);  //иначе в random будут повторяться значения
		printf("\t");
		printf("%i",y[i]);
		printf("\n");
		n++;
	}
	counting(x,y,z,r);

}
Вот написал на скорую руку. Пойдет?
flyb1z0n вне форума Ответить с цитированием
Старый 05.06.2010, 02:41   #8
Anty_F[R]eez
Пользователь
 
Регистрация: 04.06.2010
Сообщений: 11
По умолчанию

да спасибо ))) щас немного подправлю...
Учу С++ и многого не знаю... буду очень благодарен если вы мне поможите понять...тупо зделать не прошу и сам в этом не заинтересован!!!
Anty_F[R]eez вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Немного о поиске в ADO alexeybest БД в Delphi 6 14.02.2010 16:12
немного переделать задание braza Паскаль, Turbo Pascal, PascalABC.NET 1 09.05.2008 21:23
надо немного дописать... Acid Помощь студентам 2 21.05.2007 17:32
Немного математики Socol Помощь студентам 3 18.02.2007 02:01