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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2011, 01:12   #1
asmars
Форумчанин
 
Аватар для asmars
 
Регистрация: 28.05.2011
Сообщений: 309
По умолчанию Работа с массивами.

Всем доброго времени суток!
Такая вот задача:
Нужно сделать массив из 10 элементов и заполнить его случайными числами от -100 до 100. После чего элементы массива не равные нулю зеркально отобразить.
Пример:
1030456078
должно выйти:
8070654031

Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#include <iostream>
#include <conio.h>
#include <time.h>

#pragma hdrstop

using namespace std;

//---------------------------------------------------------------------------

#pragma argsused
void main()
{
        srand((unsigned)time(NULL));
        int m1[10];
        int j=0,i,c,l,r;
        cout<<"Massiv 1: "<<endl;
        for (i=0; i<10; i++)
        {
                m1[i]=rand()%3-1;
                cout<<m1[i]<<" ";
        }
        cout<<endl;
//--------------------------------
        r=0,l=0;
        for(i=0;i<5-(r+l);i++)
        {


                for(j=0;m1[i+l]==0||m1[9-i-r]==0; j++)
                {
                if(m1[i]==0)
                {l+=1;}
                if(m1[9-i]==0)
                {r+=1;}

                }
                c=m1[9-i-r];
                m1[9-i-r]=m1[i+l];
                m1[i-l]=c;

        }

//------------------------------------------
        cout<<endl;
        cout<<"Massiv 2: "<<endl;
        for(i=0; i<10; i++)
        {
                cout<<m1[i]<<" ";
        }

        getch ();
}
//---------------------------------------------------------------------------
что-то не так в этой части, как я понимаю:
Код:
        r=0,l=0;
        for(i=0;i<5-(r+l);i++)
        {


                for(j=0;m1[i+l]==0||m1[9-i-r]==0; j++)
                {
                if(m1[i]==0)
                {l+=1;}
                if(m1[9-i]==0)
                {r+=1;}

                }
                c=m1[9-i-r];
                m1[9-i-r]=m1[i+l];
                m1[i-l]=c;

        }
Спеши медленно.
asmars вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с массивами. inc Помощь студентам 2 23.06.2011 09:09
Работа с массивами pashqa Помощь студентам 9 27.05.2011 00:52
работа с массивами Андрей.12 Помощь студентам 0 19.10.2009 14:18
Работа с массивами на VB =Apple= Помощь студентам 11 16.06.2009 14:29