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

Ваш аккаунт

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

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

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

Одномерный массив

23K
20 февраля 2007 года
Нурлан
3 / / 20.02.2007
Есть задание

Yi={Yes при Xi<Xmin*(Xmax-Xmin)/4
No при Xi>=Xmin*(Xmax-Xmin)/4
Всё бы ничего да на четыри не делится, задать значение смволами не получается и вообще я новичёк!:(
Знающие люди помогите пожалуйста!
Заранее СПАСИБО!!!
З.Ы. Мне срочно! Программирую на DevCpp!


вводить значения Xi массива с клавы,Xmin и Xmax ищет программа, а потом вывести массив Yi!
Вот то что я навоял:
Код:
# include<stdio.h>
# include<conio.h>
# define N 3 //к примеру
main()
{
int x[N],i,xmax,xmin;
int d;
char y[N];
char DA,NET;
printf("VVedite massiv tselyh chisel \n");
printf("Posle vvoda kazhdogo chisla ");
printf("nazhimaite <Enter> \n");
 
for(i=0;i<N;i++)
{ printf("x[%i]=",i);
scanf("%d", &x);
}
//printf("VVedite 1 znachenie 2-ogo massiva \n");
//scanf("%s", &DA);
//printf("VVedite 2 znachenie 2-ogo massiva \n");
//scanf("%s", &NET);
i=0;
xmax=x;
 
xmin=x;
for(i=1;i<N;i++)
{ if(x>xmax)xmax=x;
if(x<xmin)xmin=x;
}
printf("%d",xmax);
printf("\n %d",xmin);
 
d=(xmax-xmin);
printf("\n %d",d);
 
for(i=0;i<N;i++)
{ if(x<d)y=DA;
if(x>=d)y=NET;
}
i=0;
do {printf("\n %d %d %f",i,x,y);
i++;
}
while(i<N);
 
getch();
}


Возможно остались старые ошибки!

[COLOR=red]читай правила форума и форматируй нормально код плиз.[/COLOR]
26K
21 февраля 2007 года
Bomon
2 / / 20.02.2007
В предпоследнем цикле, где происходит создание массива Y, есть неточность, должно быть:
 
Код:
for (i=0;i<N;i++)
{
     if (X<Xmin*d/4) Y=1;
     else Y=0;
}

При делении целых чисел оператор "/" интерпритируется как деление нацело.
При вводе выводе советую пользоваться стандартными потоками cin и cout, он более просты и удобны, чем громоздкие printf и scanf.
Вывод массива Y, например будет выглядеть как:
 
Код:
for (i=0;i<N;i++)
{
     if (y) cout<<'Yes ';
     else cout<<'No ';
}

При использовании потоков необходим хейдер Iostream.h
242
21 февраля 2007 года
Оlga
2.2K / / 04.02.2006
насчет вывода можно согласиться, только если значение массива у будет 1 или 0, а этого незаметно, хотя было бы правильно, имхо.
так что ты хочешь сказать словами, на 4 неделиться. если ты делишь так:
 
Код:
d=(xmax-xmin)/4;

то и результат будет целочисленным. можно поделить:
 
Код:
float d = (xmax-xmin)/4.0;

но в любом случае, ты не сможеь сравнить целое число с числом с плавающей точкой, разве что преобразовать одно из них, лучше целое подвести к флоат
 
Код:
if( ((float)arr) < d) ...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог