Форум: Форум C++Разное
Новые темы: 00
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Создать из двумерного массива, одномерный массив отрицательных значений

Сообщения:  [1-10]   [11-20] 

 
 автор: ale   (18.12.2007 в 10:51)   письмо автору
 
   для: 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;
}
Массив выводит какие-то странные числа. Неправильно работает.

  Ответить  
 
 автор: ale   (16.12.2007 в 12:17)   письмо автору
 
   для: cheops   (16.12.2007 в 10:29)
 

ничего .Интересно где он зависает?

  Ответить  
 
 автор: cheops   (16.12.2007 в 10:29)   письмо автору
 
   для: ale   (16.12.2007 в 08:11)
 

А потом вводите 24 числа?
Попробуйте ввести N = 1 и M = 1, а после ввести одно число 1. Что-нибудь выводится?

  Ответить  
 
 автор: ale   (16.12.2007 в 08:11)   письмо автору
 
   для: cheops   (16.12.2007 в 05:50)
 

Предположим
N=4
M=6

  Ответить  
 
 автор: cheops   (16.12.2007 в 05:50)   письмо автору
 
   для: ale   (15.12.2007 в 12:47)
 

Вы какой размер матрицы вводите и сколько цифр вводите потом?

  Ответить  
 
 автор: ale   (15.12.2007 в 12:47)   письмо автору
 
   для: cheops   (15.12.2007 в 05:35)
 

не выводится ничего

  Ответить  
 
 автор: cheops   (15.12.2007 в 05:35)   письмо автору
 
   для: ale   (15.12.2007 в 05:12)
 

А после того, как вы вводите все данные не выводится ничего? Или выскакивает сообщение об ошибке?

  Ответить  
 
 автор: ale   (15.12.2007 в 05:12)   письмо автору
 
   для: cheops   (14.12.2007 в 15:36)
 

выводит Enter N и Enter M.

  Ответить  
 
 автор: cheops   (14.12.2007 в 15:37)   письмо автору
 
   для: ale   (14.12.2007 в 12:51)
 

Очень странно, а строки "Enter N" и "Enter M" тоже не выводит?

  Ответить  
 
 автор: cheops   (14.12.2007 в 15:36)   письмо автору
 
   для: ale   (14.12.2007 в 12:49)
 

Она отлавливает исключения, которые возникают при выделении памяти при помощи оператора new.

  Ответить  

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования