|
|
|
|
|
для: ale
(16.12.2007 в 12:17)
| | Сейчас друггая проблема. Вот текст проги:
#include "stdafx.h"
#include <ctime>
#include "conio.h"
#include <windows.h>
#include <iostream>
using namespace std;
HANDLE hStdout;
int main(int argc, char* argv[])
{
hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
srand(time(0));
int j,k,N,M;
int *A;
int n=0;
int *B;
cout << "Enter integer N>0 \n";
cin >> N;
if(N<=0)
{
cout<<"Error.\n";
getch();
return 0;
}
cout << "Enter integer M>0 \n";
cin >> M;
if (M<=0)
{
cout<<"Error.\n";
getch();
return 0; }
SetConsoleTextAttribute(hStdout,FOREGROUND_RED);
{ A = new int[N*M];
n= 0;
for(int i = 0; i < N; i++)
for(int j = 0; j < M; j++)
{
{
k=rand()%2;
if (k==1)
{
A[j*M+i]==rand()%100;
}
else
{
A[i*M+j]==-rand()%100;
}
cout<<'\t'<<A[j*M + i];
if(A[j*M + i] < 0) n++;
}
printf("\n");
}SetConsoleTextAttribute(hStdout,FOREGROUND_GREEN );
printf("\n");
B = new int[n];
n = 0;
for( i = 0; i < N; i++)
for( j = 0; j < M; j++)
{
if(A[j*M + i] < 0)
{
B[n] = A[j*M+i];
n ++;
}
}
int tmp;
for(i = 0; i < n; i++)
for( j = 0; j < n-1; j++)
{
if(B[j]>B[j+1])
{
tmp = B[j];
B[j] = B[j+1];
B[j+1] = tmp;
}
}
for( i = 0; i <n; i++)
{
cout << B[i] << ' ';
/*printf("%d ",B[i]);*/
}
}
getch();
return 0;
}
Массив выводит какие-то странные числа. Неправильно работает. | |
|
|
|
|
|
|
|
для: cheops
(16.12.2007 в 10:29)
| | ничего .Интересно где он зависает? | |
|
|
|
|
|
|
|
для: ale
(16.12.2007 в 08:11)
| | А потом вводите 24 числа?
Попробуйте ввести N = 1 и M = 1, а после ввести одно число 1. Что-нибудь выводится? | |
|
|
|
|
|
|
|
для: cheops
(16.12.2007 в 05:50)
| | Предположим
N=4
M=6 | |
|
|
|
|
|
|
|
для: ale
(15.12.2007 в 12:47)
| | Вы какой размер матрицы вводите и сколько цифр вводите потом? | |
|
|
|
|
|
|
|
для: cheops
(15.12.2007 в 05:35)
| | не выводится ничего | |
|
|
|
|
|
|
|
для: ale
(15.12.2007 в 05:12)
| | А после того, как вы вводите все данные не выводится ничего? Или выскакивает сообщение об ошибке? | |
|
|
|
|
|
|
|
для: cheops
(14.12.2007 в 15:36)
| | выводит Enter N и Enter M. | |
|
|
|
|
|
|
|
для: ale
(14.12.2007 в 12:51)
| | Очень странно, а строки "Enter N" и "Enter M" тоже не выводит? | |
|
|
|
|
|
|
|
для: ale
(14.12.2007 в 12:49)
| | Она отлавливает исключения, которые возникают при выделении памяти при помощи оператора new. | |
|
|
|
|