0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 5
|
|
1 | |
Упорядочить строки целочисленной07.11.2013, 08:07. Показов 1143. Ответов 1
Метки нет (Все метки)
Приветствую всех, мне нужно помощь в решении этой задачи, сам не могу поймать баг.. в целом все работает, но на деле выводит не до конца отредактированный массив. Заранее благодарен!
Упорядочить строки целочисленной прямоугольной матрицы по возрастанию суммы //модулей их элементов. Найти номер первого из столбцов, содержащих хотя бы один //отрицательный элемент. #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include "conio.h" #include "windows.h" #include "string.h" #include <iostream> int main() { setlocale (LC_ALL,"Russian"); setlocale (LC_ALL, "rus"); int **mas = NULL; int *sum = NULL; int r, b, key; int temp; int i = 0, a = 0, j = 0, k = 1; do { printf ("\n-----------------------------------------\n"); printf ("\n ---> 1 - Ввод массива и обработка \n ---> 0 - Выход \n"); key = getch(); switch (key) { case'1': //В этом блоке мы вводим массив и выполняем обраотку int *sums = new int[b]; //////Вводим количество столбцов do { printf ("\n-----------------------------------------\n"); printf ("\n Введите количество строк массива: "); scanf ("%d", &r); if (r <= 0) { printf ("\n -- Некорректное значение --\n"); } }while (r <= 0); //////Вводим количество столбцов do { printf ("\n-----------------------------------------\n"); printf ("\n Введите количество столбцов массива: "); scanf ("%d",&b); if (b <= 0) { printf ("\n -- Некорректное значение --\n"); } }while (b <= 0); printf ("\n-----------------------------------------\n"); mas = new int*[r]; for (int i = 0; i < r; i++) { mas[i] = new int[b]; } for (i = 0; i < r; i++) { for (j = 0; j < b; j++) { printf ("\n Введите A [%d][%d] = ", i, j); //Ввод массива scanf ("%d", &mas[i][j]); } } printf ("\n\n-----------------------------------------\n"); printf ("\n Первоначальный массив:\n\n"); for (int i = 0; i < r; ++i) //Вывод перваначального массива { for (int j = 0; j < b; ++j) { printf("%-5d", mas[i][j]); } printf("\n\n"); } /////////// for(i = 0; i < r; ++i) { int sum = 0; for(j = 0; j < b; ++j) { sum = sum + abs(mas[i][j]); sums[i] = sum; } bool flag = false; do { flag = false; for(i = 0; i < r; i++) { if(sums[i] < sums[i-1]) { int buf = sums[i-1]; sums[i] = sums[i-1]; sums[i-1] = buf; int *tmp = mas[i]; mas[i] = mas[i-1]; mas[i-1] = tmp; flag = true; } } }while(flag = false); } printf ("\n\n-----------------------------------------\n"); printf ("\n Отредактированный массив:\n\n"); for (int i = 0; i < r; ++i) //Вывод отредактированного массива { for (int j = 0; j < b; ++j) { printf("%-5d", mas[i][j]); } printf("\n\n"); } for(i = 0; i < r; ++i) //Вывод номера первого столбца с отрицательным элементом { for(j = 0; j < b; ++j) { if(mas[i][j] < 0) { while (a != 1) { printf ("\n-----------------------------------------\n"); printf("\n Номер первого столбца с отрицательным элементом: %d\n", j+1); a = 1; } } } } break; } }while (key !='0'); for (int i = 0; i < r; i++) { delete [] mas[i]; } delete []mas; delete []sum; return 0; } Добавлено через 17 часов 51 минуту Закройте тему, не актуально.
0
|
07.11.2013, 08:07 | |
Ответы с готовыми решениями:
1
Упорядочить строки целочисленной прямоугольной матрицы Упорядочить строки целочисленной прямоугольной матрицы Упорядочить строки целочисленной матрицы по возрастанию одинаковых элементов в строке Упорядочить строки целочисленной матрицы по возрастанию количества одинаковых элементов |
96 / 748 / 279
Регистрация: 11.04.2012
Сообщений: 971
|
||||||
07.11.2013, 10:22 | 2 | |||||
Сообщение было отмечено QuanterSVETA как решение
Решение
0
|
07.11.2013, 10:22 | |
07.11.2013, 10:22 | |
Помогаю со студенческими работами здесь
2
Упорядочить строки целочисленной прямоугольной матрицы по возрастанию суммы модулей их элементов Упорядочить строки матрицы по возрастанию количества одинаковых элементов в строке Упорядочить строки целочисленной прямоугольной матрицы по возрастанию количества одинаковых элементов в каж Упорядочить элементы в целочисленной матрице Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |