Форум программистов, компьютерный форум CyberForum.ru

Упорядочить строки целочисленной - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Конкатенация строк через функцию http://www.cyberforum.ru/cpp-beginners/thread999606.html
Пытался я сделать программу, которая соединяет две строки. Сделал я все это так порнографично (через функцию), так-как такое домашнее задание, по закреплению знаний об функции. #include <conio.h> #include <iostream> #include <cstring> using namespace std; int strvs(char *str11, char *str22) { return strcat(str11, str22); /* под return красная волнистая линия с примечанием "тип...
C++ Трудоустройство что важно знать? Хочу устроится на работу Junior C++: - в чём необходимо особенно разбираться чтоб не краснеть на собеседовании; - надо ли иметь какую нибудь лично разработанную программу, и если критично да, чем бы в ней стоило показать, чтоб снова таки не показаться идиотом; - если есть какие нибудь ещё советы по этому вопросу буду премного благодарен. http://www.cyberforum.ru/cpp-beginners/thread999593.html
C++ Разработать программу с меню и работой с файлами.
Разработать программу,в которой будет организованно меню,выбор функций меню должно быть организовано по функциональной клавише.Вся информация должна хранится в массиве структур,с возможностью их записи в файл.организовать сортировку данных одним из методов(быстрая,Шелла,Пузырькова),вывод результатов сортировки должен быть в табличной форме. Функции программ: -Функция для ввода данных...
Превратить целое число без знаку в порядок символов C++
Задание: Превратить целое число без знаку в порядок символов!
C++ Одномерный массив, почти доделал http://www.cyberforum.ru/cpp-beginners/thread999566.html
в одномерном массиве состоящем из n вещественных элементов, вычислить: 1) Количество элементов массива, лежащих в диапазоне от А до В. 2)Сумму элементов массива расположенных после максимального элемента. Упорядочить элементы массива по убыванию модулей элементов. Первые два задания рабочие, помогите с третьим разобраться! Тут немного осталось, буду очень благодарен. Заранее спасибо...
C++ Реализация АТД 2-3 дерева Реализуйте структуру-множество целых чисел на основе 2-3 дерева. Для упрощения задачи разрешается опустить операцию удаления узлов. 2-3 дерево – дерево с двумя типами узлов: листья, хранящие конкретные значения; внутренние узлы, содержащие 3 связи с дочерними узлами и минимальные значения, хранящиеся во втором и третьем поддереве. Внутренние узлы могут содержать как 2, так и 3 поддерева.... подробнее

Показать сообщение отдельно
QuanterSVETA
 Аватар для QuanterSVETA
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 5
07.11.2013, 08:07     Упорядочить строки целочисленной
Приветствую всех, мне нужно помощь в решении этой задачи, сам не могу поймать баг.. в целом все работает, но на деле выводит не до конца отредактированный массив. Заранее благодарен!

Упорядочить строки целочисленной прямоугольной матрицы по возрастанию суммы
//модулей их элементов. Найти номер первого из столбцов, содержащих хотя бы один
//отрицательный элемент.

#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 минуту
Закройте тему, не актуально.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru