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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2010, 23:52   #1
lubchuk
 
Аватар для lubchuk
 
Регистрация: 21.04.2010
Сообщений: 3
Вопрос Вопросы: Динамический массив

Было дано задание составить массив из целых элементов, найти минимальный по модулю, сумму после первого элемента равного 0, и отсортировать так чтобы сначала шли элементы с четными индексами, а потом с нечетными(если кто не понял смотрите код) у меня вот что получилось:
Цитата:

#include<iostream>
#include<conio.h>
#define sz 20
using namespace std;
int main()
{
int a[sz],e[sz/2],u[sz/2],z,q,i,m,s=0,j=0,t=-1,y;
//========================
for(i=0;i<sz;i++)
{cout<<"Element a["<<i+1<<"]=";
cin>>a[i];
}
//==========================
m=a[0];
for(i=1;i<sz;i++)
{if (abs(a[i])<abs(m))
m=a[i];
}cout<<"\nMin. po mod. element="<<m;
//===========================
i=0;
for(i=t;i<sz;i++)
{if (a[i]==0)
t=i;
}if(t!=-1)
if(t!=sz-1)
{
for(i=t;i<sz;i++)
s=s+abs(a[i]);
cout<<"\n\nSumma elementov posle pervogo nulevogo="<<s;
}
else
cout<<"\n\nNulevoi element-poslednii";
else
cout<<"\n\nNet Nulei";
//============================
q=0;
z=0;
for(i=0;i<sz;i++)
{if((i+1)%2==0)
{u[z]=a[i];
z++;
}
else{
e[q]=a[i];
q++;
}
}
for(i=0;i<sz/2;i++)
a[i]=u[i];
for(i=sz/2;i<sz;i++)
a[i]=e[i-sz/2];
cout<<"\n\nSform.massiv= ";
for(i=0;i<sz;i++)
cout<<a[i]<<" ";
//===========================

getch();
return 0;
}
Потом было дано задание преобразовать данный массив в динамический, компилятор Div начал выбивать ошибку на ввод/вывод С++, пришлось поменять на С....
...у меня такое чувство что здесь местами бред, не подскажите где и как исправить?
вот код:
Цитата:
#include<stdio.h>
#include<iostream>
#include<math.h>
#include<conio.h>



float min(int sz,int *a)
{
int m=a[0], t=-1;
for(int i=1;i<sz;i++)
if (abs(a[i])<abs(m))
m=a[i];
printf("m=%d",m);
return m;
}

float sum(int *a,int sz)
{
int s=0,t=-1,p=1;
for(int i=t;i<sz;i++)
{if (a[i]==0)
if (p=1)
{t=i;}
p=p+1;
}
for(int i=t;i<sz;i++)
{
s=s+abs(a[t]);
t++;
}
printf("s=%d",s);
return s;
}

float order(int *a,int sz)
{

int q=0,z=0,e[sz/2],u[sz/2];
for(int i=0;i<sz;i++)
{if((i+1)%2==0)
{u[z]=a[i];
z++;
}
else{
e[q]=a[i];
q++;
}
}
for(int i=0;i<sz/2;i++)
a[i]=u[i];
for(int i=sz/2;i<sz;i++)
a[i]=e[i-sz/2];
for(int i=0;i<sz;i++)
printf("a[i]=%d",a[i]);

}

int main()
{
int sz;
printf("Enter size of matric sz=");
scanf("%sz", &sz);
int *a = new int [sz];
for (int i = 0; i < sz; i++)
scanf("%i", &a[i]);



printf("min=",min);
printf("sum=",sum);
printf("order=",order);


delete a;

}
lubchuk вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический массив supra89kren Общие вопросы C/C++ 4 25.03.2010 20:23
Динамический массив Zhanna5006 Помощь студентам 7 10.01.2010 14:09
Динамический массив Ueshua Общие вопросы C/C++ 3 19.12.2009 22:12
Динамический массив Kiragaz Общие вопросы C/C++ 8 29.09.2009 22:30
динамический массив Cpluser Общие вопросы C/C++ 1 20.09.2009 18:17