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

работа с двумерным массивом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Двухмерный массив http://www.cyberforum.ru/cpp-beginners/thread1017754.html
Здравствуйте, уважаемые форумчане. Прошу помощи: нужно вывести номер строки, в которой содержится самая длинная серия элементов.
C++ Написала программу,но работает не так, как нужно. Что исправить? Дано простое число. Написать функцию, которая находит следующее простое число. Никаких ошибок и предупреждений не выводит. Но ,допустим, дано простое число 7, а следующее простое число программа должна вывести 11(по таблице простых чисел). но выводит 8.подскажите как исправить?#include "iostream" using namespace std; int inp (int N,int f) { int i=1; if ((N/1==N)&&(N%N==0))cin>> N;... http://www.cyberforum.ru/cpp-beginners/thread1017752.html
C++ Перезагрузка
Здравствуйте! Получил вот такую лабу по перезагрузке. Класс: Множество целых чисел. Поля: Количество элементов в множестве, указатель на массив множества. Методы класса: Конструктор, деструктор, метод прибавления элемента к множеству. Операции по перезагрузке: Объеденение(+), разница(-), пересечение(*), вывод элементов множества в поток(<<). Пытаюсь ее сделать по примеру. Не знаю как...
C++ Определить значение отношения максимального и минимального чисел
Определить значение отношения максимального и минимального из последовательности введенных ненулевых чисел (условие завершения ввода цифр выбрать самостоятельно). Использовать рекурсию.
C++ Выдаёт непонятную ошибку http://www.cyberforum.ru/cpp-beginners/thread1017734.html
Кратко: Нужно реализовать класс, представляющий собой функцию, заданную в табличной форме. Зашли в тупик на методе Delete, который должен удалять точку по введённой абсциссе. Программа запускается, но потом прерывается на том месте, где должна удалить из вектора точку. Помогите разобраться, заранее спасибо. #include <iostream> #include <vector> using namespace std; struct point...
C++ Упорядочить столбцы матрицы по возрастанию элементов Добрый день уважаемые форумчане, есть задачка, над которой я уже довольно долго ломаю голову. Буду очень благодарен если Вы мне поможете в написании программы. Вот собственно и сама задачка: Дана матрица размером n*m. Упорядочить столбцы матрицы по возрастанию элементов. Использовать метод пузыpька. Алгоpитм заключает¬ся в следующем : массив пpосматpивается по пеpекpещивающимся паpам чи¬сел... подробнее

Показать сообщение отдельно
igortim95
Сообщений: n/a
24.11.2013, 21:00     работа с двумерным массивом
Характеристикой столбца прямоугольной матрицы называется количество нулей в нем. Перестроить заданную матрицу, переставляя в ней столбцы так, чтобы значения их характеристик возрастали.
- вывести полученную матрицу;
- найти в ней количество строк, содержащих одинаковые элементы.
Компилируется но работает не верно, в чем проблема разобраться самому не получается(
C++ (Qt)
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    int **p, n = 0, sb, sk, buffer = 0, povt = 0, s = 0;
    cout << "vvedite kolvo strok (1 to 20): ";
    cin >> sk;
    while (sk<1, sk>20) { cout << "vvedite kolvo strok (1 to 20): "; cin >> sk; }
    cout << "vvedite kolvo stolbcov (1 to 20): ";
    cin >> sb;
    while (sb<1, sb>20) { cout << "vvedite kolvo stolbcov (1 to 20): "; cin >> sb; }
    p = new int *[sk];
    for (int i = 0; i < sk; i++)
        p[i] = new int[sb];
    for (int i = 0; i < sk; i++)
    {
        for (int j = 0; j < sb; j++)
        {
            cout << "(" << i << "," << j << "): ";
            cin >> p[i][j];
        }
    }
    cout << ": \n";
 
 
    for (int i = 0; i < sk; i++)
    {
        for (int j = 0; j < sb; j++)
            cout << p[i][j] << " ";
        cout << "\n";
    }
    cout << "\n";
    for (int l = 0; l < sb; l++)
    for (int j = 0; j < sb-1; j++)
    {
        int sum = 0, sum1 = 0;
        for (int i = 0; i < sk; i++)
        {
            if ((sum += abs(p[i][j]))<(sum1 += abs(p[i][j + 1])))
            {
                buffer = p[i][j];
                p[i][j] = p[i][j + 1];
                p[i][j + 1] = buffer;
            }
        }
    }
    for (int i = 0; i < sk; i++)
    {
        for (int j = 0; j < sb; j++)
            cout << p[i][j] << " ";
        cout << "\n";
    }
 
    for (int i = 0; i<sk - 1; i++)
    {
        for (int j = 0; j<sb; j++)
        {
            if (p[i][j] == p[i + 1][j])
                povt++;
        }
        if (povt != 0) s++;
    }
    cout << endl << "strok: " << s;
 
    for (int i = 0; i < sk; i++)
        delete[]p[i];
    delete[]p;
    cout << endl;
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru