Работа с массивами

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
Raze
Сообщения: 10
Зарегистрирован: 14 фев 2007, 15:05

Помогите разобраться с задачкой:
Дана целочисленная прямоугольная матрица размера N*M.
•Упорядочить столбцы матрицы по возрастанию первого элемента строки методом прямого обмена (пузырек).(Сортировка матрицы должна быть оформлена в виде отдельной функции. Все необходимые данные для функций должны передаваться им в качестве параметров, использование глобадьных переменных в функциях не допускается.)
•Определить:
1.Сумму элементов строк, не содержащих ни одного нулевого элемента;
2.Максимальную сумму из п. 1.
•Исходные данные и результаты вывести на экран.

Посчитать сумму элементов строк, не содержащих ни одного нулевого элемента получилось, а как выбрать максимальную сумму элементов строк не содержащих нулевых элементов. И как реализуется сортировка методом пузырька в С++.

Код: Выделить всё

#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>

int main(){
     const int Row=3, Col=4;
     int a[Row][Col];
     int sum[Row];
     int sums[Row];
     int i,j,k,max,temp,s;
     
     printf( "Enter elements of a massiv:\n" );
       for (i=0; i<Row; i++)
          {
                 for (j=0; j<Col; j++){
                 
                     printf(" a[%i,%i]=",i,j);
                     scanf( "%d",&a[i][j]);
                     }
                     }
     
     printf( "         Massiv\n" );
     printf( "________________________\n" );
     for (i=0; i<Row; i++){
          for (j=0; j<Col; j++) cout << setw(4) << a[i][j] << "  ";
          cout << endl;
          }        
    
                   for(i=0; i<Row; i++){
                   sum[i]=0;
                         for(j=0; j<Col; j++)
                         {
                         sum[i]=sum[i]+a[i][j];
                         }

                         
                         }
    int istr=-1, MaxKol=0;
    printf("\n\n");
    for (i=0; i<Row; i++){
        int Kol=0;
      
        for (j=0; j<Col; j++)
        if (a[i][j]!=0)Kol++;
        {if (Kol > Row) printf("\n Line number: %d does not contain zero element\n Amount of the line: %d ", i, sum[i]);
      
         
        else printf("\n Contains zero elements a line number: %d", i);}
       
       }
       
   
    printf("\n\n");
    printf("Press any key for exit...");
getch();
}
  
Ответить