• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы DaaGER
  • Дата начала
D

DaaGER

Есть задание

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[i]);
}
//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[i];

xmin=x[i];
for(i=1;i<N;i++)
{ if(x[i]>xmax)xmax=x[i];
if(x[i]<xmin)xmin=x[i];
}
printf("%d",xmax);
printf("\n %d",xmin);

d=(xmax-xmin);
printf("\n %d",d);

for(i=0;i<N;i++)
{ if(x[i]<d)y[i]=DA;
if(x[i]>=d)y[i]=NET;
}
i=0;
do {printf("\n %d %d %f",i,x[i],y[i]);
i++;
}
while(i<N);

getch();
}

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

European

1. Что значит char DA,NET ? Ты определил переменные и не проинициализировал их. Исправь на что-то типа: char DA = 'D', NET = 'N';
2. Определяй d согласно условию задания, т.е. d=xmin*(xmax-xmin)/4;
3. В выводе строки измени формат для последней переменной с вещественного на символьный, т.е. printf("\n %d %d %c",i,x,y);

Правильность работы проверишь сам, но глядя по коду, вроде все нормально
 
D

DaaGER

Теперь ошибок нет, только в таблице теперь нет Y!
Вот весь код может поможет, в решение моей проблемы:

# include<stdio.h>
# include<conio.h>
# define N 2
main()
{
float y[N];
int x[N],i,xmax,xmin;
int d;
char DA = 'D', NET = 'N';
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);
}


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=xmin*(xmax-xmin)/4;
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 %c",i,x,y);
i++;
}
while(i<N);

getch();
}
 
E

European

y - это массив char, а не float

P.S. С тегами кода читать намного легче
 
D

DaaGER

YES!!!
Осталось последнее, надо чтобы выводилась не одна буква, а целое слово!
Спасибо тебе ОГРОМНОЕ!!!
 
E

European

<!--QuoteBegin-DaaGER+20:02:2007, 11:58 -->
<span class="vbquote">(DaaGER @ 20:02:2007, 11:58 )</span><!--QuoteEBegin-->Осталось последнее, надо чтобы выводилась не одна буква, а целое слово!
[snapback]56691" rel="nofollow" target="_blank[/snapback]​
[/quote]
Только не додумайся слова в массиве хранить
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!