|
|
|
| Добрый день дорогие программисты, прошу помочь написать программу.
Упорядочить строки целочисленной прямоугольной матрицы по возрастанию количества одинаковых элементов в каждой строке.
Найти номер первого из столбцов, не содержащих ни одного отрицательного элемента. | |
|
|
|
|
|
|
|
для: vnaumenko
(19.05.2012 в 07:30)
| | Самый простой способ сортировки:
#include <stdio.h>
#include <stdlib.h>
int main()
{ int arr[10]={1,23,4,7,18,0,1,9,4,7}; //Объявление и инициализация массива
int i, j, tmp;
printf ("\n Не отсортированный массив: ");
for (i=0; i<10; i++) //Цикл вывода неотсортированного массива
printf (" %d", arr[i]);
printf ("\n");
for (i=0; i<9; i++)
for (j=0; j<8; j++)
if (arr[j] > arr[j+1]) //Сортировка
{ tmp=arr[j]; /*Переменная для промежуточного хранения элемента массива*/
arr[j]=arr[j+1];
arr[j+1]=tmp; };
printf ("\n Отсортированный массив: ");
for (i=0; i<10; i++) //Цикл вывода отсортированного массива
printf (" %d", arr[i]);
printf ("\n");
system("Pause");
}
|
На базе одномерного массива - двумерный по аналогии.
Только будет arr[][]{....}{....};
Ну а столбцы проверяем сравнением с нулем например - больше или меньше.
Ну и в цикле так листаем - цикл условие else for. Сначала найдем 1ю ячейку, если положительная, то проверяем под ней и если обе положительны - печать результата.
Может есть более эффективный алгоритм, я сам пока только учусь - так что написал бы так. | |
|
|
|