Форум программистов, компьютерный форум, киберфорум С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Проверить, все ли строки матрицы содержат хотя бы один положительный элемент https://www.cyberforum.ru/ cpp-beginners/ thread516401.html
проверить , все ли строки матрицы содержат хотя бы один положительный элемент . если да, то изменить знаки всех элементов матрицы на обратные.... Нужно сделать с динамическим массивом , но я могу только на обычном цикле с условием ... не знаю что делать помогите что да как можно сделать.... Добавлено через 1 час 23 минуты у меня есть такой вариант только он не подходит а динамический я не...
C++ Работа с двумя списками
Суть задания: Два списка А и Б. У одного 5 чисел, у другого пять чисел. У первого:1,2,3,4,5. У второго:3,4,5,6,7. Нужно их вывести на экран. Потом из первого списка удалить числа, которые есть и у второго. Затем добавить к первому списку те числа списка Б, которых нету у А...Я сделал два списка, некоторые функции. Вот мой код. Но я не понимаю как их сравнить и при сравнении удалить элемент...
C++ написать програмку(простенькую) на С++ https://www.cyberforum.ru/ cpp-beginners/ thread516387.html
Заданная квадратная матрица действительных чисел. Найти среднее арифметическое положытельных элементов, находящихся на главной диагонали. помогите пожаалуйста :)
C++ Текущий миннимум https://www.cyberforum.ru/ cpp-beginners/ thread516365.html
Задан массива из n чисел. Каждый элемент заменить минимальным среди первых i элементов этого массива. Тест: 7 9 2 3 4 5 1 6 7 7 2 2 2 2 1 1 p.s Если можно с комментариями плиз
C++ Найти произведение трех матриц размерностью 3*3.
обработка текстовых файлов Найти произведение трех матриц размерностью 3*3.
C++ Считывание и запись в файл Короче пытаюсь считать из одного файла цифру и записать ее в другой файл На то что после // не обращайте внимания эт я для себя писал))) int pokazatel; char a; FILE * fo;// FILE - тип переменно (для привязки переменной к файлу), fo - сама переменная fo = fopen("test.txt","rt");// открытие файла с названием test.txt , wt -запись (write text) rt -чтение fscanf( fo, a);... https://www.cyberforum.ru/ cpp-beginners/ thread516356.html
C++ Тривиальная ошибка при типе string https://www.cyberforum.ru/ cpp-beginners/ thread516339.html
Написал код для сортировки текста в алфавитном порядке. Делал все вроде правильно, как говорится, по книжке, но при компиляции выдает очень много ошибок, и мне кажется, что это связано с объявлением set<string>. Помогите исправить ошибку, пожалуйста #include<stdio.h> #include<set> #include <ctype.h> #include <string> set<string> SetS; set<string>::iterator iter; char s;
Чтение из файла и обратная запись в него C++
Возникла такая проблема: не могу считать файл в строку и вывести обратно в файл.Проблема в том что все данные копируются,но когда я пытаюсь обратно записать все в файл,переход на новую строку пропадает,т.е. вместо "Ехал Грека через реку",получается "Ехал Грекачерез реку".Где ошибка в коде? ... string s; ifstream l(dateStr,ios::binary); char ch; while(l>>ch) if(ch=='\n') {
C++ [C++] Закодировать текст записанный с помощью русских букв и пробелов https://www.cyberforum.ru/ cpp-beginners/ thread516323.html
1. Определить какие литеры входят в заданный текст 2. Закодировать текст записанный с помощью русских букв и пробелов, заменяя каждую букву на букву, следующую за ней через Т N букв в алфавите 3. Сжать каждыю строку текста, убрав пробелы в начале и конце строки и оставив по одному пробелу между словами Должны быть выполнены следующие условия к оформлению: 1. Написать модуль, включающий...
C++ Потоки. Основа. Помогите разобраться с потоками WinAPI. Нужны только азы. Для начала создание, уничтожение, передача параметров #include "stdafx.h" #include <WinBase.h> DWORD WINAPI func(PVOID param) { https://www.cyberforum.ru/ cpp-beginners/ thread516312.html
Небольшая ассемблеровская вставка C++
Доброго вечера. Данный код создает одномерный массив. int main() { int n=4; int *a = new int ; for(int i=0;i<n;i++){ cin>>a; } return 0;
C++ Ошибка: forbids declaration of 'magic' with no type expected ';' before '.' token пишет "forbids declaration of 'magic' with no type expected ';' before '.' token" не могу найти где ? #include <iostream> #include <iomanip> #include <conio.h> #include <cmath> #include <process.h> using namespace std; struct bil{ int a; float b; https://www.cyberforum.ru/ cpp-beginners/ thread516306.html
107 / 107 / 9
Регистрация: 19.12.2010
Сообщений: 417
12.03.2012, 03:23 0

Переставить строки в порядке убывания сумм элементов - C++ - Ответ 2783981

12.03.2012, 03:23. Показов 5850. Ответов 10
Метки (Все метки)

Ответ

Не по теме:

1. Это раздел по C# (Си-шарп), а не по C++ (Си-плюс-плюс). Тему, наверно, переместят;
2. Форматируйте свой код: Используйте отступы и пробелы между операндами;
3. При вставке своего кода сюда, используйте форматирование кода на форуме с помощью кнопочки C++;
4. Перед тем, как задать вопрос, поищите готовые ответы на этом форуме и в интернете.


По делу:
1. В какой программе пишете код?
2.
Код программы с сортировкой по суммам [Нажмите это]
C++Выделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include <iostream.h>
#include <time.h>
 
using namespace std;
 
//Создание массива
int** CreateArray(int n)
{
    int** new_arr = new int*[n];
    for (int i = 0; i < n; i++)
    {
        new_arr[i] = new int[n];
        for (int j = 0; j < n; j++)
        {
            new_arr[i][j] = -10 + rand() % 21;
        }
    }
    return new_arr;
}
 
//Печать массива
void PrintArray(int** arr, int n)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cout.width(4);
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
}
 
//Печать массива
void PrintArrayWithSums(int** arr, int* sums, int n)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cout.width(4);
            cout << arr[i][j] << " ";
        }
        cout << "Sum: " << sums[i] << endl;
    }
}
 
//Удаление массива
void DeleteArray(int** arr, int n)
{
    for (int i = 0; i < n; i++)
    {
        delete[] arr[i];
    }
    delete[] arr;
}
 
//Вычисление сумм
int* GetStrSums(int** arr, int n)
{
    int* sums = new int[n];
    for (int i = 0; i < n; i++)
    {
        int curSum = 0;
        for (int j = 0; j < n; j++)
        {
            curSum += arr[i][j];
        }
        sums[i] = curSum;
    }
    return sums;
}
 
//Сортировка по суммам строк (по убыванию). Метод сортировки пузырьком:
//http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BF%D1%83%D0%B7%D1%8B%D1%80%D1%8C%D0%BA%D0%BE%D0%BC
void SortByStrSums(int** arr, int* sums, int n)
{
    bool t = true;
    while(t)
    {
        t = false;
        for (int i = 0; i < (n - 1); i++)
        {
            if (sums[i] < sums[i + 1])
            {
                int* tmpStr = arr[i];
                arr[i] = arr[i + 1];
                arr[i + 1] = tmpStr;
 
                int tmpSum = sums[i];
                sums[i] = sums[i + 1];
                sums[i + 1] = tmpSum;
 
                t = true;
            }
        }
    }
}
 
void main()
{
    int n;
    srand (time(NULL));
 
    cout << "Input N:" << endl;
    cin >> n;
    cout << endl;
 
    int** arr = CreateArray(n); //Создаём массив со случайными числами.
    cout << "Array:" << endl;
    PrintArray(arr, n);
 
    int* sums = GetStrSums(arr, n); //Получаем суммы
    cout << endl << "Array with sums: " << endl;
    PrintArrayWithSums(arr, sums, n); //Печатаем массив вместе с суммами.
 
    SortByStrSums(arr, sums, n); //Сортируем по суммам строк
    cout << endl << "Array sorted by string sums: " << endl;
    PrintArrayWithSums(arr, sums, n); //Печатаем массив после сортировки.
 
    DeleteArray(arr, n); //Удаляем массив
    cin.get(); //пауза до нажатия клавиши.
}

3. Используйте объявление массивов не в статической памяти, а динамической (ключевое слово new) как в моём примере.
4. double - вещественный тип, а вам нужен целый - используйте int.

Добавлено через 32 минуты
Цитата Сообщение от samira di Посмотреть сообщение
почему когда я задаю например 5 чисел от 6 до 2, он пишет что не упорядочен, хотя должен убывать?
Потому что второй цикл нужно делать не до m, а до (m - 1), тем самым Вы лезите не в свою память, читая случайные мусорные данные. Я бы по-другому сделал, но ладно, исправлю ваш код:
Исправленный и дополненный код [Нажмите здесь]
C++Выделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <conio.h>
 
using namespace std;
 
void main()
{
    int m;
    cout << "m=";
    cin >> m;
    if (m > 1)
    {
        cout << endl;
        int k,n,i,x[30];
        {
            for(i = 0; i < m; i++)
            {
                cout << "x[" << i << "]=";
                cin >> x[i];
            }
        }
 
        k = 0; n = 0;
        {
                for(i = 0; i < (m - 1); i++)
                    if(x[i] <= x[i + 1])
                        k++;
                    else
                        n++;
 
                if (n == m - 1)
                    cout << "Decreases"; //Убывает
                else if (k == m - 1)
                    cout << "Increases"; //Возврастает
                else
                    cout << "Unsorted"; //Не отсортирован
        }
    }
    else
    {
        cout << "Wrong array length" << endl; //Неверная длина массива
    }
    getch();
}

5. Вместо cin.get() подключайте conio.h:
C++Выделить код
1
#include <conio.h>
и вызывайте в конце программы функцию:


Вернуться к обсуждению:
Переставить строки в порядке убывания сумм элементов C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2012, 03:23
Готовые ответы и решения:

Задана вещественная матрица N×M. Переставить строки матрицы в порядке убывания минимальных элементов строк матрицы
Задана вещественная матрица N×M. Переставить строки матрицы в порядке убывания минимальных...

В двумерном массиве переставить строки в порядке убывания их сумм
Помогите с сортировкой в двумерном массиве!!! Задача: В двумерном массиве переставить строки в...

В матрице переставить строки в порядке убывания количества отрицательных элементов строки
В матрице А и В переставить строки в порядке убывания количества отрицательных чисел в строке....

Переставить строки матрицы в порядке убывания их максимальных элементов
Переставить строки в порядке убывания их максимальных элементов.

10
12.03.2012, 03:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2012, 03:23
Помогаю со студенческими работами здесь

Расположить строки матрицы в порядке убывания сумм значений их элементов
Превратить произвольную матрицу XN1 (m * n), расположив ее строки в порядке убывания сумм значений...

Сортировать (переставить) строки матрицы в порядке убывания значений первых элементов строк
Данная действительно матрица размером n * m. Сортировать (переставить) строки матрицы в порядке...

Переставить столбцы матрицы в порядке убывания значений первой строки
Для матрицы M(m,n), 1&lt;m, 10&lt;n. Найти суму всех чисел меньше нуля. Переставить столбцы в порядке...

Переставить строки матрицы в порядке возрастания сумм модулей
ПРОГРАММА КОТОРАЯ В ЗАДАННОЙ МАТРИЦЕ ПРЕДСТАВЛЯЕТ СТРОКИ В ПОРЯДКЕ ВОЗРАСТАНИЯ СУММЫ МОДУЛЕЙ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru