Помощь - Поиск - Пользователи - Календарь
Полная версия: формирование массива с++
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
amega
Добрый день!
есть задание с формированием массива:
Разместить все элементы с положительными значениями в левой части массива, нули - в правой, а элементы с отрицательными значениями - между ними;

вот я прохожу по массиву и путем сдвигов формирую новый масив

#include <stdio.h>

#define size_arr 10

int main(){

int arr[size_arr];
int i=0;

while (i<size_arr){
printf("enter element %d: ",i);
scanf("%d",&arr[i]);
i++;
}


int buf;

for (i=0;i<size_arr;i++){
buf=arr[i];
int j;
if (arr[i]>0) {
for (j=i;j>1;i--){
arr[j]=arr[j-1];
}
arr[0]=buf;
}
if (arr[i]=0){
for (j=i;j<size_arr-1;i++){
arr[j]=arr[j+1];
}
arr[9]=buf;
}
}


for (i=0;i<size_arr;i++){
printf("%d%s",arr[i]," ");
}

return 0;
}


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




Client
#include <stdio.h>
#include <iostream>

using namespace std;
int main(int argc, char **argv)
{
int a[10]={1,-2,3,0,-1,-2,-3,0,-5,7};
int b[10];
int i,k;
k=0;
for (i=0; i<10; i++){
if (a[i]>0) {
b[k]=a[i];
k++;
}
}
for (i=0; i<10; i++){
if (a[i]==0) {
b[k]=a[i];
k++;
}
}
for (i=0; i<10; i++){
if (a[i]<0) {
b[k]=a[i];
k++;
}
}
for (i=0; i<10; i++){
cout << b[i] <<'\n';
}
return 0;
}
Можно сделать как volvo недавно показал "хитрую сортировку пузырьком" smile.gif
amega
Цитата
Можно сделать как volvo недавно показал "хитрую сортировку пузырьком"

...?
Client
тут на паскале написано, надо чуть подправить
Lapp
Цитата(amega @ 24.02.2010 18:40) *
но выдает ошибки, не могу понять какие?
... еще понять не могу что они значат.

Например, вот тут у тебя одна из самых популярных ошибок, наиболее характерная для тех, кто приходит с Паскаля:
        if (arr[i]=0){

Проверка на равенство должна осуществляться знаком "==", а не "=":
        if (arr[i]==0){
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.