Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
11:02
3726
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Форум для внеигровых тем-->

АвторСИшка. Масивы.
Мне надо програму двумя способами сделать.
Если первым я сделал, то с указателями я не дружу, а второй способ - надо ими сделать.
Во тусловие:
Сделать 2 масивы, чтоб занечния с клавы вводить. И третий масив, чтоб в нем были значения с этих двоих уже отсортированые.

ВОт моя прога:

#include <stdio.h>
#include <conio.h>
#define N 100
int main ()
{
int n,i,j,temp,n1,i1,j1,temp1,i2,n2;
double mas[N],mas1[N],mas2[N];

printf("\n\t Vveditb kilkictb elemeHtiv - ");
scanf("%d",&n);
printf("\n\t Vveditb elemeHtu Macuvy : \n");
for (i=0;i<n;i++)
{
scanf("%lf",&mas[i]); // 3aHocumo daHi v Macuv
}
printf("\n\t OtPuMaHui Macuv:");

for(i=0;i<n;i++){
for(j=0;j<n-i-1;j++){
if (mas[j]>mas[j+1]){
temp=mas[j];mas[j]=mas[j+1];mas[j+1]=temp;
} //coptyem eleMeHTu
}
}


for (i=0;i<n;i++)
printf(" \n\t %5.3lf",mas[i]); // VuvoduMo Macuv



printf("\n\t Vveditb kilkitb eleMeHtiv dpyroro macuvy - ");
scanf("%d",&n1);
printf("\n\t Vveditb eleMeHtu dpyroro Macuvy: \n");
for(i1=0;i1<n1;i1++){
scanf(" %lf",&mas1[i1]);
}
printf("\n\t OtpuMaHui Macuv:");
for(i1=0;i1<n1;i1++){
for(j1=0;j1<n1-i1-1;j1++){
if(mas1[j1]>mas1[j1+1]){
temp1=mas1[j1];mas1[j1]=mas1[j1+1];mas1[j1+1]=temp1;
}
}
}

for(i1=0;i1<n1;i1++){
printf(" \t %5.3lf",mas1[i1]);
}


printf("\n EleMeHtu tpetboro Macuvy: \n");
n2=n+n1;
i=i1=i2=0;
while ((i<n) && (i1<n1)) //doku He 3akin4utbcya oduH 3 Macuviv
mas2[i2++]=(mas[i]<mas1[i1])?mas[i++]:mas1[i1++]; // 3bupaem no 1 eleMeHty

if(i<n)
while(i2<n2)
mas2[i2++]=mas[i++]; //yakwo 2 3akin4uvcyam to dobupaem 1 kinecb
else if(i1<n1)
while(i2<n2)
mas2[i2++]=mas1[i1++];


for(i2=0;i2<n2;i2++){
printf(" \t %5.3lf",mas2[i2]);
}

getch();
return 0;
}

все гуд работает. но как переделать чтоб были указатели?

Я чтото пробывал, но никак. вот что получилось:
#include <stdio.h>
#include <conio.h>
#define N 100
int main ()
{
double *i,*j,temp,*i1,*j1,temp1,*i2,*kin,*kin1,n,*kin2;
double mas[N],mas1[N],mas2[N];
int n,n1,n2;

printf("\n\t Vveditb kilkictb elemeHtiv - ");
scanf("%d",&n);
printf("\n\t Vveditb elemeHtu Macuvy : \n");



for (i=&mas[0],kin=&mas[n-1];i<kin;i++)
{
scanf("%lf",&mas[n]); // 3aHocumo daHi v Macuv
}
printf("\n\t OtPuMaHui Macuv:");

for(i=&mas[0],kin=&mas[n-1];i<kin;i++){
for(j=&mas[0],kin=&mas[n-1];j<kin;j++){
if ((j)>(j+1)){
temp=*j;*j=*(j+1);*(j+1)=temp;
} //coptyem eleMeHTu
}
}


for (i=&mas[0],kin=&mas[n-1];i<kin;i++)
printf(" \n\t %5.3lf",*mas[i]); // VuvoduMo Macuv
getch();
return 0;
}
А где конец?
глаза режет
для Вова2_2Вова:
А так?

ВОт моя прога:

http://pastebin.com/4HhTNCTA

Что пытался

http://pastebin.com/PQehekwy
К списку тем
2007-2025, онлайн игры HeroesWM