Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2007, 11:47   #1
Endor
Новичок
Джуниор
 
Регистрация: 18.12.2007
Сообщений: 2
По умолчанию "сбой" программы на С++

Помогите, пожалуйста.
Я написал программу сортировки массива.
Код:
#include <stdio.h>
#include <time.h>
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
int main()
{
clrscr();
int n,i,p[1000],c[1000];

for (i=1;i<100; i=i+1) {c[i]=0;p[i]=0;}
cout<<"Vvedite kolichestvo elementov massiva";
cin>>n;
n=n+1;
randomize();
for (i=1; i<n; i=i+1)
	{p[i]=rand() % 100;
	cout<<" "<<p[i];}
float t;
//t=clock();
//for (int vr;vr<18;vr=vr+1)
//{
	//for (i=1;i<n+1;i=i+1)	cout<<i<<"^ "<<p[i]<<endl;
	for (i=1;i<100;i=i+1) c[p[i]]=c[p[i]]+1;
	//for (i=1;i<10;i=i+1)	cout<<c[i];
	cout<<endl;
	int j,d;
	for (i=1;i<100;i=i+1)
		for (j=0;j<c[i];j=j+1) {d=d+1;
					c[d]=i;};
//};
float t1;
//t1=clock();
cout<<endl<<"#$";
for (i=1;i<n;i=i+1)  cout<<c[i]<<" ";
getch();
};
В таком состоянии она работает корректно.
Но когда я пытаюсь убрать комментарии со строки
Код:
t=clock();
программа сортировать перестаёт. В конечном массиве выводит нули.
То же происходит, если присвоить переменной t значение 0.
И даже при изменении имени переменной на другое, происходит то же самое.
Может быть, это из-за компилятора? Я пользуюсь "Borland C++" версии 3.1 1990-1992 г.
Endor вне форума Ответить с цитированием
Старый 18.12.2007, 18:31   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Измени float t; на clock_t t;
_Dmitry вне форума Ответить с цитированием
Старый 19.12.2007, 14:37   #3
Endor
Новичок
Джуниор
 
Регистрация: 18.12.2007
Сообщений: 2
По умолчанию

Так, с этим вроде разобрался.
Но теперь при количестве элементов n, равном ~60 он сортирует "не тот массив". Почему-то цифры в итоговом массиве другие... При n>40 всё нормально...
Почему так может происходить?
Endor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49
На чем пишутся стратегии типа "Казаков" и "Эпохи империи" Tayfun Свободное общение 3 26.06.2007 20:27