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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
МаргаритаC
1 / 1 / 0
Регистрация: 02.10.2009
Сообщений: 159
#1

сортировка массива(найти ошибку) - C++

10.06.2010, 21:22. Просмотров 338. Ответов 3
Метки нет (Все метки)

Дано натуральное число N (n от 1 до 100), целочисленный линейный массив a0, a1, …, aN-1. Элементы массива заполняются случайными целыми числами из диапазона [0, N]. Требуется отсортировать массив методом подсчета.
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
#include <stdio.h>
#include<conio.h>
#include <stdlib.h>
#define N 5
void SortMas(int *aa, int nn, int *bb)
{int c[nn]; int i,j;
for(i=0;i<nn;i++)
c[i]=0;
for (i=0;i<nn-1;i++)
{for (j=i+1;j<nn;j++)
{
   if (*(aa+i)>*(aa+j))
   c[i]++;
   else
   c[j]++;
}
}
for (i-0;i<nn;i++)
 *(bb+c[i]+1)=*(aa+i);
}
int main()
{
int a[N]; int b[N];
int i;
for(i=0;i<N;i++)                 
  a[i]=rand()%20;
for(i=0;i<N;i++)
  printf("%5d",a[i]); 
 
  printf("\n");
  
SortMas(a,N,b);
for(i=0;i<N;i++)
  printf("%5d",b[i]); 
        
 getch();
  return 0;
}
подскажите пожалуйста в чем ошибка...у меня выводит массив а ....а потом нечто непонятное строчку из кучи цифр

Добавлено через 21 минуту
аа..все уже не надо...и почему тут нельзя удалять свои темы..?!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2010, 21:22     сортировка массива(найти ошибку)
Посмотрите здесь:

Блочная сортировка массива (найти ошибку) - C++
Вобщем задача следующая: реализовать алгоритм блочной сортировки массива! Собственно реализовать - реализовал! =) когда количество...

Сортировка массива. Прошу найти ошибку - C++
Дано N цисло (1&lt;=N&lt;=100). Нужно отсортировать. Прошу найти ошибку #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; ...

Сортировка массива пузырьком - найти ошибку в коде - C++
В массив вношу 46 случайных чисел от 1 до 26 включая, упорядочиваю по убыванию сортировкой методом пузырька - выдает ошибку сам код вот ...

Сортировка массива после первого отрицательного, найти ошибку. - C++
программа должна отсортировать массив после первого отрицательного. попробовал пузырьковую сортировку, алгоритм правильный но что то она...

Сортировка, найти ошибку - C++
есть структура и класс, ее нужно попровить (или написать свою работающую) функцию сортировки все это реализуется с помощью линейного...

Быстрая сортировка. Не могу найти ошибку!. - C++
Написала вот такую программу, которая создает массив из случайных чилел, потом их сортирует. Работаю под Visual Studio 2010. #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
10.06.2010, 21:24     сортировка массива(найти ошибку) #2
Цитата Сообщение от МаргаритаC Посмотреть сообщение
потом нечто непонятное строчку из кучи цифр
возможно из за выхода за пределы массива
МаргаритаC
1 / 1 / 0
Регистрация: 02.10.2009
Сообщений: 159
10.06.2010, 22:06  [ТС]     сортировка массива(найти ошибку) #3
да..кажется именно изза этого)
а не подскажете что обозначает ошибка
return-statement with a value, in function returning 'void'
у меня функция бинарного поиска и в конце написано
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void PoiskMas(int *bb, int nn, int k)
{int L,R; int c;
L=0;
R=nn-1;
int found=0;
while ((L<=R)&&(!found))
{
  c=(L+R)/2;
  if (k<bb[c])
  R=c-1;
  else
  {
    if (k>bb[c])
    L=c+1;
    else
    found=1;
  }
}
if (found)                  
 return(c);         //вот в этом месте выдает ошибку
else
 return(-1);     //и в этом
}
Добавлено через 25 минут
вобщем я поняла в чем ошибка)
уже исправила)
теперь одна проблема...последняя...мне надо с клавиатуры ввести число k
я пишу
C++
1
cout<<"input k="<<"\n";
мне выдает ошибку что типо cout undeclared...вобщем где тогда его описать или что с ним сделать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2010, 22:15     сортировка массива(найти ошибку)
Еще ссылки по теме:

Сортировка методом пузырька, не могу найти ошибку - C++
Здравствуйте, уважаемые форумчане ! Столкнулся с проблемой при выполнении 2-го условия. Дана целочисленная прямоугольная матрица...

Выдает ошибку ! Даны два массива. Найти отклонение медианы от среднего арифметического для третьего массива - C++
3. Даны два массива. Найти отклонение медианы от среднего арифметического для третьего массива, элементы которого - частное от деления...

Найти ошибку в сортировке одномерного массива - C++
Помогите пожалуйста никак не могу понять в чём беда,нужно вывести в порядке возрастания все нечётные элементы массива,в моей программе ...

Найти ошибку(сумма элементов массива) - C++
Здравствуйте. Необходимо найти ошибку в нахождении суммы до элемента, значение которого вводится с клавиатуры, например 1 2 3 4 5 6 7...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
10.06.2010, 22:15     сортировка массива(найти ошибку) #4
Цитата Сообщение от МаргаритаC Посмотреть сообщение
выдает ошибку что типо cout undeclared...вобщем где тогда его описать или что с ним сделать
C++
1
#include <iostream>
Yandex
Объявления
10.06.2010, 22:15     сортировка массива(найти ошибку)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru