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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2009, 15:17   #1
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию одномерный массив в Си ! Исправьте код!

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define max 100
int ot (int k, int x[max]);
void gen( int k, int h, int j, int x[max]);
void out (int k, int x[max]);
void BubbleSortInd (int k, int h, int p, int x[max]);
void main()
{
int t[max];
int n,a,b;

do
{
printf ("\nВведите кол-во элементов массива n (n<=50): ");
scanf ("%d",&n);
}
while (n>max);
printf ("Введите a и b: ");
scanf ("%d%d",&a,&b);
gen(n,a,b,t);
printf ("Сгенерированный массив:\n ");
out(n,t);
printf ("\nЭлементы:\n ");
BubbleSortInd(n,a,b,t);
printf("\nКоличество: %d\n",ot(n,t));


}

void gen( int k, int a, int b, int x[max])
{
int i;
srand (time(NULL)*1000);
for (i=0;i<k;i++)
{

x[i]=(rand()*1.0/(RAND_MAX)*(a-b)+b);
}
}

void out (int k, int x[max])
{
int i;
for (i=0;i<k;i++)
printf ("%d ",x[i]);

}


void BubbleSortInd (int k, int h, int p, int x[max])
{
int i,j,w,m=0;
float v=0.0,t=0;
for (i=0;i<k;i++)
v=v+x[i];
if( x[i]<float (v/k))
printf("%d\t",x[i]);

}




int ot (int k, int x[max])
{
int i,w=0 ,m=0;
float v=0.0,t=0;
for (i=0;i<k;i++)
v+=x[i];
if(float (v/k)>x[i]) { w++; }
return w+1;

}
ПОМОГИТЕ ИСПРАВИТЬ КОД!!Нужно найти все элементы,которые меньше среднего арифметического и количество таких элементов!!
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Старый 04.06.2009, 15:52   #2
MAKEDON
The First Person!
Форумчанин
 
Аватар для MAKEDON
 
Регистрация: 07.08.2007
Сообщений: 228
По умолчанию

Цитата:
Нужно найти все элементы,которые меньше среднего арифметического и количество таких элементов!!
А не слишком много текста для такой ерунды? Вот я написал, получилось короче.

Код:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

void main(){
	int t[100],i,sr=0,kol=0;
	printf ("Сгенерированный массив:\n ");
	for(i=0;i<100;i++){
		t[i]=rand()%1000;
		printf("%4d",t[i]);
		sr+=t[i];
	}
	sr/=100; 
	printf ("\nЭлементы:\n "); 
	for(i=0;i<100;i++){
		if(t[i]<sr){
			printf("%4d",t[i]);
			kol++;
		}
	}
	printf("\nКоличество: %d\n",kol);
}
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.

Последний раз редактировалось MAKEDON; 04.06.2009 в 15:58.
MAKEDON вне форума Ответить с цитированием
Старый 04.06.2009, 17:14   #3
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

Текст не длинный!!Такая тема!Спасибо!
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Старый 04.06.2009, 17:14   #4
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

Исправил
void BubbleSortInd (int k, int h, int p, int x[max])
{
int i,sr=0,kol=0;
for(i=0;i<k;i++)
sr+=x[i];
sr/=k;
for(i=0;i<k;i++){
if(x[i]<sr){
printf("%4d",x[i]);
kol++;
}
}
printf("\nКоличество: %d\n",kol);
}
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одномерный массив Sjava Помощь студентам 7 02.11.2009 10:01
Одномерный массив. gree Помощь студентам 6 12.05.2009 20:29
Одномерный массив xxxPascalxxx Помощь студентам 3 18.01.2009 15:23
одномерный массив fatdog Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 23.02.2008 10:05