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

Сортировка массива - C++

Восстановить пароль Регистрация
 
Nolifer
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 5
28.11.2010, 23:48     Сортировка массива #1
Задан массив из k чисел. Найти числа, входящие в массив только один раз.
Программа в Visual C++ 6.
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
#include "stdafx.h"
#include <stdio.h>
#include <iostream.h>
 
int main(int argc, char* argv[])
{
    int mas[100], nas[100];
    int k,i,r,m;
    cout<<"Vvedite k"<<endl;
    cin>>k;
    for (i=0; i<k; i++)
    {
        cin>>mas[i];
    }
 
    for (i=0; i<k; i++)
    {
        cout<<mas[i]<<" ";
    }
        cout<<" "<<endl;
        p=0;
    for (r=0; r<k; r++)
    {
    
      for(i=1; i<=k; i++)
        {
m=0;
            if ((mas[r])==(mas[i]))
            {
                mas[i]=-32000;
                m++;
            }
            if ((i==k) && (m==0))
            {
                nas[p]=mas[r];
                p++;
            }
      }     
    }
    return 0;
}

Не могу найти ошибки в коде, в результате которой неправильно работает программа.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2010, 23:48     Сортировка массива
Посмотрите здесь:

C++ Сортировка массива
сортировка массива C++
Указатели массива и сортировка массива C++
C++ Сортировка массива
C++ Сортировка массива, вместо массива выводит мусор
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
29.11.2010, 02:09     Сортировка массива #2
Nolifer, посмотрите, вот похожая тема Количество не повторяющихся чисел
Вот немного исправленная программа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
int main()
{
    const int n = 100;
    float a[n];
    int i,j;
    std::cout<<"Input array: "<<std::endl;;
    for (i = 0; i < n; ++i){
        std::cin>>a[i];
    }
 
    std::cout<<"Unique number: "<<std::endl;
    for (i = 0; i < n; ++i)
    {             
        for(j = i + 1; j < n; ++j)
            if(a[i] == a[j])
                break;
        if(j == n)    
            std::cout<<a[i]<<' ';
    }
    return 0;
}
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
29.11.2010, 07:29     Сортировка массива #3
M128K145, не совсем правильно
Вот пример:
1 2 3 3 4
При i==2 , тройка на экран не попадет, но при i==3.....
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
29.11.2010, 08:50     Сортировка массива #4
Ну и ладно, 16-17 строки тогда такие
C++
1
2
for(j = 0; j < n; ++j)
    if(a[i] == a[j] && i != j)
Vorox
 Аватар для Vorox
25 / 24 / 3
Регистрация: 26.11.2010
Сообщений: 57
29.11.2010, 08:56     Сортировка массива #5
Мой пример...
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
#include <iostream>
#include <conio.h>
using namespace std;
#define n 5;
int main()
{
    setlocale(LC_ALL,"Russian");
    float a[5];
    int count=0;
    cout<<"Заполните массив a["<<n;
    cout<<"]:"<<endl;
    for(int i=0; i<5; i++)
        cin>>a[i];
    cout<<"Элементы массива входящие по 1 разу:\n";
    for(int i=0; i<5; i++)
    {
        bool flag=false;
        for(int j=0; j<5; j++)
        {
            if(a[i]==a[j] && i!=j)
            {
                flag=true;
            }
        }
        if(!flag)
        {
            cout<<a[i]<<"  ";
            count++;
        }
    }
    cout<<"\nКол-во таких элементов = "<<count;
    getch();
}
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
29.11.2010, 09:13     Сортировка массива #6
Vorox, а зачем вам флаг? Он здесь не нужен
Yandex
Объявления
29.11.2010, 09:13     Сортировка массива
Ответ Создать тему
Опции темы

Текущее время: 05:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru