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

Матрица (Не получается ввести с клавиатуры произвольные число строк и столбцов массива) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Реализовать в С++ http://www.cyberforum.ru/cpp-beginners/thread841101.html
Program P7_2; uses crt; var n,p,q,i,c,z:integer; procedure pervaya(n:integer; var p,q:integer); var c,z:integer; begin p:=1; q:=1; for i:=2 to n do begin
C++ В массиве заменить все элементы, следующие за наименьшим элементом, единицами (найти ошибку) Задание: В массиве С заменить все элементы, следующие за наименьшим элементом единицами. Вот код: #include <iostream> #include <conio.h> using namespace std; int main() { int C,min=0; http://www.cyberforum.ru/cpp-beginners/thread841098.html
Массивы. Величины максимального и минимального элементов массива C++
Разработать функцию, обрабатывающую массив и вычисляющую две величины. Кроме того, разработать две функции, которые вычисляют те же самые величины по отдельности. Применить эти подпрограммы в одной программе. Функция должна вычислять: Величины максимального и минимального элементов массива.
Работа с базами данных Access C++
Добрый день увариваемые программисты.. Задали курсовую(буквально вчера) сделать надо до середины мая. Курсовая состоит в том что нужно создать базу данных в С++. Сказали можно сделать как и в самом С++, так в СУБД, но чтоб реализация была в С++. Я выбрал сделать базу данных в Access, а потом реализовать(вывод, редактирование, заполнение) в С++. Не создавал в темах : Visual C++ и базы данных, C++...
C++ Линейный список (создать, удалить элемент, добавить элемент, вывести всё эементы) http://www.cyberforum.ru/cpp-beginners/thread841078.html
в общем, передо мной стоит задача создать линейный список(в этом линейном списке у меня хранится фамилия человека, год, в котором он родился и его знак зодиака). в этом линейном списке нужно удалить элемент, добавить элемент, вывести всё эементы из исходного файла на экран. всё практически вышло, вот только когда вывожу все лементы моего списка на экран, то каждый раз после "имя дата знак...
C++ Найдите сумму элементов сбалансированного дерева, находящихся на уровне k В динамических структурах не могу разобраться, сколько бы ни пытался.... Надеюсь на вашу помощь в выполнении заданий... 2. Найдите сумму элементов сбалансированного дерева, находящихся на уровне k. подробнее

Показать сообщение отдельно
Genn55
342 / 189 / 37
Регистрация: 26.12.2012
Сообщений: 661
18.04.2013, 22:16  [ТС]     Матрица (Не получается ввести с клавиатуры произвольные число строк и столбцов массива)
Если я правильно понял,мне нужно создать 2 динамических двумерных массива?

Добавлено через 20 часов 47 минут
Спасибо,что подсказали в какую сторону копать.Переписал код,но все равно дает ошибку не понимаю почему столбцы не сортируются.В статическом все нормально,а в динамическом нет, в чем дело не пойму.Заполняется правильно,а работает с ошибками.
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
//сортировка двухмерного массива
//по возрастанию
 
#include<iostream>
#include<stdlib.h>
#include<time.h>
#include <windows.h>
 
using namespace std;
int main()
{
   SetConsoleCP(1251);
   SetConsoleOutputCP(1251);
   srand(time(NULL));
    int str,stolb,temp;
 
    cout <<"Введите количество строк"<<"\n";
    cin >> str;
    cout<<"Введите количество столбцов"<< "\n";
    cin >> stolb;
    cout<<"\n";
    cout<<"До сортировки""\n";
 
    // динамическое создание двумерного массива
    int **mass = new int* [1]; // строк в массиве
    for (int i = 0; i < str; i++)
        mass[i] = new int [1]; // столбцов
    // заполнение массива и вывод на экран
     for(int i=0;i<str;i++)
    {
        for(int j=0;j<stolb;j++)
         {
            mass[i][j]=1+rand()%100;
            cout<<mass[i][j]<<"\t";
         }
        cout<<"\n";
    }
        //Сортируем массив
    for(int i=0;i<=(str*stolb);i++)//колличество проходов
    {
        //в строках упорядочиваем
       for(int i=0;i<str;i++)
         {
           for(int j=0;j<stolb-1;j++)
            {
              if(mass[i][j]>mass[i][j+1])
               {
                 temp=mass[i][j];
                 mass[i][j]=mass[i][j+1];
                 mass[i][j+1]=temp;
               }
            }
         }
       //в столбах упорядочиваем
          for(int x=0;x<stolb;x++)
         {
           for(int z=0;z<str-1;z++)
            {
              if(mass[z][x]>mass[z][x+1])
               {
                 temp=mass[z][x];
                 mass[z][x]=mass[z][x+1];
                 mass[z][x+1]=temp;
               }
           }
        }
 
     }
    //вывод на экран после сортировки
    cout<<"После сортировки ""\n";
    for(int i=0;i<str;i++)
    {
        for(int j=0;j<stolb;j++)
        {
            cout<<mass[i][j]<<"\t";
        }
        cout<<"\n";
    }
    // удаление двумерного динамического массива
    for (int i = 0; i < str; i++)
        delete []mass[i];
return 0;
}
В этом коде дает ошибку.
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
//сортировка двухмерного массива
//по возрастанию
 
#include<iostream>
#include<stdlib.h>
#include<time.h>
#include <windows.h>
 
using namespace std;
int main()
{
   SetConsoleCP(1251);
   SetConsoleOutputCP(1251);
    srand(time(NULL));
    const int str=3;
    const int stolb=3;
    int mass[str][stolb];
    int temp;
    //заполняем двухмерный массив и выводим на экран
    cout<<"До сортировки""\n\n";
    for(int i=0;i<str;i++)
    {
        for(int j=0;j<stolb;j++)
         {
            mass[i][j]=1+rand()%100;
            cout<<mass[i][j]<<"\t";
         }
        cout<<"\n\n";
    }
    //Сортируем массив
    for(int i=0;i<=(str*stolb);i++)//колличество проходов
    {
        //в строках упорядочиваем
       for(int i=0;i<str;i++)
         {
           for(int j=0;j<stolb-1;j++)
            {
              if(mass[i][j]>mass[i][j+1])
               {
                 temp=mass[i][j];
                 mass[i][j]=mass[i][j+1];
                 mass[i][j+1]=temp;
               }
            }
         }
       //в столбах упорядочиваем
       for(int x=0;x<stolb;x++)
         {
           for(int z=0;z<str-1;z++)
            {
              if(mass[z][x]>mass[z][x+1])
               {
                 temp=mass[z][x];
                 mass[z][x]=mass[z][x+1];
                 mass[z][x+1]=temp;
               }
           }
        }
     }
    //вывод на экран после сортировки
    cout<<"После сортировки по возрастанию""\n\n";
    for(int i=0;i<str;i++)
    {
        for(int j=0;j<stolb;j++)
        {
            cout<<mass[i][j]<<"\t";
        }
        cout<<"\n\n";
    }
return 0;
}
А в этом все работает.
 
Текущее время: 19:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru