Форум программистов, компьютерный форум CyberForum.ru

Зачада на одномерный массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Эти непонятные массивы..Даны натуральные числа x1,y1,r1...xn,yn,rn, которые задают последовательность окружностей... http://www.cyberforum.ru/cpp-beginners/thread179545.html
Пересекающиеся окружности. Даны натуральные числа x1,y1,r1...xn,yn,rn, которые задают последовательность окружностей так, что xi,yi - координаты центра, а ri - радиус i-й окружности(i=1,...,n). Определить попарно номера окружностей, которые имеют хотя бы одну общую точку, и сколько таких пар насчитывается в последовательности. Вот начал решать но чё то заступорился:( подскажите как же тут...
C++ Реализовать с использованием массива очередь 13.первое задание 1) Сформировать одномерный массив целых чисел, используя датчик случайных чисел. 2) Распечатать полученный массив. 3) Удалить из массива все элементы совпадающие с его минимальным значением. 4) Добавить в начало массива 3 элемента со значением равным среднему арифметическому массива. 5) Распечатать полученный массив. 16. Реализовать с использованием массива очередь... http://www.cyberforum.ru/cpp-beginners/thread179536.html
C++ Перестановка блоков матрицы
1)Дано действительную квадратную матрицу порядка 2n. Получить новую матрицу, переставляя ее блоки розмером nxn рисунок и второе задание в txt документе
C++ курсовая работа
Дан файл, содержащий сведения об учениках школы. Структура записи файла: фамилия и имя ученика, название класса. Записи в файле не упорядочены. Написать программу, которая печатает - в алфавитном порядке список учеников заданного класса. - информацию о количестве учеников в данном классе и в каждом из параллельных классов.
C++ Школьная олимпиада по информатике http://www.cyberforum.ru/cpp-beginners/thread179530.html
Учу 1ый год C++. Точнее 2 недели. Работать могу пока что только с условными операторами(if,while,for). Не могу решить эти задачи Задачи. Будем называть числа круглыми, если они содержат в своей записи только цифры 0 и 5. Составим последовательность круглых чисел в порядке возрастания: 0,5,50,55,500,505 и т.д. Написать программу, которая находит K-ое по порядку в этой последовательности...
C++ Вопросы начинающего Здравствуйте в С++ я еще новичок, поэтому, если позволите то я задам несколько вопросов -class A: public B По-смыслу это значит что класс А должен унаследовать все pubic методы класса B, я прав? - Как создать дву(и более)мерный массив Предположу что массивы могут быть только одно и двумерные(максимум 3-мерные) из-за того что например непонятна структура 4 мерного массива подробнее

Показать сообщение отдельно
crazygor1
6 / 6 / 1
Регистрация: 06.02.2010
Сообщений: 131
03.11.2010, 22:18  [ТС]     Зачада на одномерный массив
Ребят всё правильно, только вот есть одна загвоздка, вдругу нас в массиве будит 0 элемент, оно и его отсортирует, а это уже ошибка( помогите плиз, так чтоб дописанныйе нули были в конце, а те которые были - оставались на своих местах.

Добавлено через 52 минуты
Вот до чего я дошел идея такова:
сортируем
потом создаю 2ой массив
в него переношу по порядку из 1ого числа,
если они из нужного деапазона то в конец, и заменяю нулями
все остальные в начало
по порядку
тогда массив будет отсортирован а нули будут вконце

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream.h>
//сжать массив, удалив из него все элементы, велличина которых находится 
//в интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями.
 
bool WithineRange(int a,int b, int x) 
{ // функция определяет находится ли число Array[i] в диапазоне [a,b]
    return x >= a && x <= b;
} 
 
void main()
{
    int a,b,N;
    cout<< "a= "; cin>>a;//от
    cout<< "b= "; cin>>b;//до
    cout<< "N= "; cin>>N;//размер массива
    
    int * Array = new int[N];//массив
    int * Array2 = new int [N];// 2 массив
    for(int i=0;i<N;++i) 
    {
        cin>>Array[i];
    } 
    cout << "\n\n";
    int k;
    bool c=true;
    while (c) //сортирую пузырём
    {
        c=false;
        for(i=0;i<N;i++)
            if (Array[i]>Array[i+1])
            {
                k=Array[i];
                Array[i]=Array[i+1];
                Array[i+1]=k;
                c=true;
            }
    }
    for(i=0;i<N;i++)
        if(WithineRange(a,b,Array[i]))//проверяю на диапазон
        {//переношу во 2й массив
            Array[i]=0; 
            Array2[N-i]=Array[i];//в конец
        }
        else
            Array2[i]=Array[i];//в начало
    
    for(i = 0;i<N;++i) //вывожу
        cout << Array[i] << " ";
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru