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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2011, 10:11   #11
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

С 27-го марта....
...
Код:
//1 #include <stdio.h>
//2 #include <stdlib.h>
#include <iostream>      //2
using namespace std;    //2

void PrintMatrix( char* cTitle, int* x, int nRows, int nCols ) {

   int row, col ;
      
//1   printf( "\n%s\n", cTitle ) ;
   cout << endl << cTitle << endl ;    //2
   for ( row = 0; row < nRows; row++ ) {
      for ( col = 0; col < nCols; col++ ) {
//1         printf("%2d", *(x + row*nCols + col ) ) ;
         cout << ' ' << *(x + row*nCols + col ) ;   //2
      }
//1      printf( "\n" ) ;
      cout << endl ; //2
   }

}


int main() {

   int   col, 
         i,
         maxInCol ,
         row, 
         N, M ;
   int   *a ,
         *aToDelete ;

//1   printf( "Number of rows ? " );
   cout << "Number of rows ? " ;    //2
//1   scanf( "%d", &N ) ;
   cin >> N ;  //2
//1   printf( "Number of columns ? " );
   cout << "Number of columns ? " ;    //2
//1   scanf( "%d", &M ) ;
   cin >> M ;  //2

//1   a = malloc( N * M * sizeof( int ) ) ;
   a = new int [N*M ] ;    //2
//1   aToDelete = malloc( M *sizeof( int ) ) ;
   aToDelete = new int [M] ;  //2

   /* Генерируем матрицу */
   srand( N*M ) ; /* Здесь можно играться с аргументом... */
   for ( i = 0; i < N*M; i++ ) {
      *(a+i) = rand() / 3270 ;   /* ...а здесь - со знаменателем */
   }
   PrintMatrix( "The source matrix:", a, N, M ) ;

   /* Ищем максимумы столбцов */
   for ( col = 0; col < M; col++ ) {
      maxInCol = *(a + col) ;
      aToDelete[col] = 0 ;
      for ( row = 1; row < N; row++ ) {
         if ( *(a + row*M + col) > maxInCol ) {
            maxInCol = *(a + row*M + col) ;
            aToDelete[col] = row ;
         }
      }
   }
   PrintMatrix( "Column maximums' indices:", aToDelete, 1, M ) ;

   /* Удаляем максимумы столбцов */
   for ( col = 0; col < M; col++ ) {
      for ( row = aToDelete[col]; row < N-1; row++ ) {
         *(a + row*M + col) = *(a + (row+1)*M + col) ;
      }
   }
   PrintMatrix( "Seeded matrix:", a, N-1, M ) ;

//1   free( a ) ;
   delete []a ; //2
//1   free( aToDelete ) ;
   delete []aToDelete ;    //2

   return 0 ;

}
Vago вне форума Ответить с цитированием
Старый 20.05.2011, 12:51   #12
ndrus
 
Регистрация: 27.03.2011
Сообщений: 7
Хорошо

готовлюсь к свадьбе некогда разбиратся еще и заболел

Последний раз редактировалось ndrus; 20.05.2011 в 13:16.
ndrus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задана матрица размером n x m и вектор размером m Alexan88 Общие вопросы C/C++ 3 20.12.2010 16:01
Группа в одномерном массиве BaronVik Помощь студентам 5 21.10.2010 05:58
Поиск в одномерном массиве Joxter Помощь студентам 6 13.12.2008 14:19