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

Выяснить, сколько чисел входит в последовательность по одному разу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести на экран линию из символов http://www.cyberforum.ru/cpp-beginners/thread374513.html
Нужно написать программу c помощью цикла While, вот условие: Написать программу, которая выводит на экран линию из символов. Число символов, какой использовать символ, и какая будет линия - вертикальная, или горизонтальная - указывает пользователь.
C++ Помогите написать прогу в С++ Люди пожалуйста помогите написать в С++ программы для задач ,буду очень благодарен Задача1 Lin18. Найти решение системы уравнений вида A1·x + B1·y = C1, A2·x + B2·y = C2, заданной своими коэффициентами A1, B1, C1, A2, B2, C2, если известно, что данная система имеет единственное решение. Задача2 Log18. Даны координаты (как целые от 1 до 8) двух различных полей шахматной доски. Если король за... http://www.cyberforum.ru/cpp-beginners/thread374507.html
C++ русские буквы
можно ли как-нибудь ввести в консоль русский текст, получить его, а затем работать с ним, а затем вывести его. посьню: есть код: char st = {0}; cout<<"Введите строку: "; cin>>st; cout<<"Введена строка: "<<st; ... // работаем со строкой
C++ Выравниваем строки по правому и левому краям
Задача: Создать программу, которая бы запрашивала у пользователя строки до тех пор, пока он не введет пустую строку, после чего программа должна вывести список введенных строк в два столбца, первый из которых выровнен по левому краю, а второй - по правому краю. То есть результат программы может выглядеть примерно следующим образом: Aarhus Aaron Ababa aback ...
C++ Что не так в программе? (цикл While) http://www.cyberforum.ru/cpp-beginners/thread374488.html
Условие: Написать программу, которая находит сумму всех целых нечетных чисел в диапазоне, указанном пользователем. #include <iostream> using namespace std; int main() { int summa=0,a,b,n=a; cout<<"OT:\n"; cin>>a; cout<<"DO:\n";
C++ Что такое композиция? Добрый день. Тут читаю книгу и в ней приводится длинющий и непонятный пример композиции. Попросил бы Вас привести простенький пример композиции, то есть классы как элементы других классов. Желательно с разъяснениями. подробнее

Показать сообщение отдельно
Glam_Man
6 / 6 / 0
Регистрация: 15.10.2011
Сообщений: 73

Выяснить, сколько чисел входит в последовательность по одному разу - C++

29.10.2011, 16:54. Просмотров 2581. Ответов 30
Метки (Все метки)

Условие задачи написано в шапке кода программы. Я написал эту программу, программа работает. Но есть одно ключевое но: преподаватель мне сказал, что то, работает или нет программа его волнует в последнюю очередь. Он анализирует код и задаёт мне постоянно один и тот же вопрос: "какой смысл сравнивать с незаданным b[j]?". Я задавал b[j], равный 0, программа тоже работала, но тогда он мне задал вопрос: "ты сравниваешь все числа с b[j], равным нулю. Какой в этос смысл?". Вот код написанной мною программы:

Код
//Даны натуральное n, целые числа a1, ..., an. Внутри данной последовательности могут быть поваторяющиеся члены. 
//Выяснить, сколько чисел входит в последовательность по одному разу
#include <stdio.h>
const int N=100;
void inMas1(int &n, int a[N])
{
        //ввод размерности массива
        printf ("Vvedite razmernost pervogo massiva n=");
        scanf ("%d", &n);
        //проверка на корректность введённой размерности массива
        if (n<=0)
        {
                printf ("Nekorrektniy vvod \n");
        }
        for (int i=0; i<n; i++)
        {
                //ввод a[i]
                printf ("a[%d]=", i);
                scanf ("%d", &a[i]);
        }
}
void MasNoPovtor(int n, int a[], int &k, int b[])
{
        //начальное присвоение
        k=0;
        //Просмотр массива a[N] с занесением всех неповторяющихся элементов этого массива в b[N]
        for (int i=0; i<n; i++)
        {
                //начальное присвоение
                bool flagNo=true;
                int j=0;
                while ((flagNo)&&(j<n))
                {
                        //цикл сравнения
                        if (a[i]==b[j])
                        {
                                flagNo=false;
                        }
                        j++;
                }
                if (flagNo)
                {
                        //добавление a[i] в b[k]
                        b[k]=a[i];
                        k++;
                }
        }
}
void main()
{
        //определение переменных
        int n, k, a[N], b[N];
        //ввод исходных данных
        inMas1(n, a);
        //вычисление b
        MasNoPovtor(n, a, k, b);
        //вывод результата
        if (n>0)
        {
        printf ("%d", k);
        printf ("\n");
        }
}
Собсно, нужно обосновать этот момент. Либо же, писать программу по-другому. Буду благодарен за помощь
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru