Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Задача по массиву (http://forum.oszone.net/showthread.php?t=223128)

demike 17-12-2011 07:29 1816716

привет ... помогите решить задачку ..
Дан числовой массив A размера N. Все его положительные элементы поместить в начало массива B, а отрицательные элементы — в начало массива C. Подсчитать количество тех и других.
буду очень признателен ... зачет в понедельник ...если не решу ... меня вышвырнут отсюда

Drongo 17-12-2011 12:12 1816794

demike, Для начала прочтите - Правила Форума по программированию, затем если вам будет нужно решение задачи, попытайтесь помочь нам своими размышлениями, что нужно сделать, как. Не нужно писать пока код, ограничтесь псевдокодом. Опишите как программа должна работать?
Цитата:

Цитата demike
зачет в понедельник ...если не решу ... меня вышвырнут отсюда »

Это ваша учёба, если вам не интересна она, не зачем было поступать где преподают программирование. Ждём мыслей и идей, в противном случае тему перенесу в Сборник задач по программированию

Drongo 17-12-2011 12:58 1816819

Цитата:

Цитата demike
Дан числовой массив A размера N. Все его положительные элементы поместить в начало массива B, а отрицательные элементы — в начало массива C. Подсчитать количество тех и других. »

Если разбить задачу на подзадачи, то получится примерно такой план решения:
1. Создаём массивы A, B, C с размером N
2. Создаём два счётчика для положительных и отрицательных значений
3. После нахождения положительного значеня присваиваем массиву B и увеличиваем счётчик положительных
4. После нахождения отрицательного значеня присваиваем массиву C и увеличиваем счётчик отрицательных
5. Вывести интересующую информацию на экран.

ferget 17-12-2011 13:11 1816824

так вроде

Код:

#include <iostream>
using namespace std;

int main()
{
        double* A;
        double* B;
        double* C;
        int B_cnt=0, C_cnt=0;
        int N;

        cout << "Enter size of array: ";
        cin  >> N;

        A = new double[N];
        B = new double[N];
        C = new double[N];

        cout << "Input array elements\n";
        for(int i = 0; i < N; i++)
                cin >> A[i];

        for(int i = 0; i < N; i++)
        {
                if (A[i] < 0)
                        B[B_cnt++] = A[i];
                else
                        C[C_cnt++] = A[i];
        }

        cout << "\nArray B (" << B_cnt << ") ";
        cout << "\nArray C (" << C_cnt << ") ";
       
        cin.ignore().ignore();
        return 0;
}



Время: 09:46.

Время: 09:46.
© OSzone.net 2001-