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

Создать уникальный двумерный массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить сумму отрицательных элементов массива, которые делятся на 5 и индексы которых есть нечетные числа http://www.cyberforum.ru/cpp-beginners/thread1020337.html
Вычислить сумму отрицательных элементов массива, которые делятся на 5 и индексы которых есть нечетные числа.
C++ Файл. Подстрока из цифр Требуется определить строки файла, содержащие максимальную по длине подстроку, состоящую только из цифр. Если таких строк несколько, вывести первые 10. Вот мой код... Выдаёт неверный результат, если в строке одно слово. #include <iostream> using namespace std; bool proverka(char *token,int &max) { bool flag=true; for(int i=0;i<strlen(token);i++) if(!isdigit(token)) flag=false; http://www.cyberforum.ru/cpp-beginners/thread1020334.html
C++ Перевод из десятичной в Римскую
Дали курсовую , сдавать уже на днях. Может кто знает как делать? Написать программу перевода чисел из десятичной системы счисления в Римскую.исходное число считывается из одного файла, а результат записывается в другой файл.I-1;V-5; X-10; L-50; C-100; D-500; M-1000. Есть мысли вот такие.
Найти первую последовательность максимальной длины в массиве C++
Делал задачку: ввод одномерного массива из n целых чисел (1<=n<=100); Найти 1-ю последовательность максимальной длины масива; вывод результата выполнения операции. Вот что я написал, но программа не хочет работать, выдает непонятное решение или вообще зависает, помогите исправить код. Спасибо за помощь. Уже просто голова кругом едет. Вероятно я где-то сделал ошибку и не могу догнать где....
C++ Не могу найти ошибку http://www.cyberforum.ru/cpp-beginners/thread1020313.html
Задача: вывести элементы массива, которые повторяются ровно 2 раза #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv) { setlocale (LC_ALL, "Russian");
C++ Задан текст. Определить количество слов, в которых встречается буква вводимая с клавиатуры Доброго времени суток. Помогите написать программу, пожалуйста. Заранее большое спасибо. подробнее

Показать сообщение отдельно
Flinky
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 2
27.11.2013, 00:06     Создать уникальный двумерный массив
Пишу программку,которая находит в двумерном массиве(8*8) макс и мин значения.После чего создает прямоугольную область(фотка в конце),ограниченную минимальным и
максимальным значениями(само собой разумеется,что значения элементов массива должны быть уникальными,ибо минимальных допустим может быть несколько
(пять нулей)ну по крайней мере мне так кажется ).В итоге образуется новый массив,уже в котором надо выполнить сквозную сортировку по строкам.


Начал с самого начала


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
#include <iostream>
#include <ctime>
#include <stdio.h>
 
using namespace std;
 
int main()
{
 //   int z,x;
    int min =0;
    int max =0;
    srand(time(NULL));
    const int n = 8; 
    int sum = 0;
    int **a = new int* [n]; // Создаем массив указателей
    for (int i = 0; i < n; i++)
    {
        a[i] = new int [n]; // Создаем элементы
    }
    for (int i = 0; i <n && (i-1) != i; i++)
    {
        for (int j = 0; j < n && (j-1) != j; j++)
        {
            a[i][j] = rand() % 64;
            cout << a[i][j] << " "; 
        }
        cout << endl;
    }
    // Считаем минимальный и максимальный
    min = a[0][0];// берем самый первый элемент массива и считаем, что он минимальный.
    max = a[0][0];// и он же максимальный. 
 
 
//Вот именно тут я пытался сделать уникальность,проверка,чтоб предыдущий элемент не был равен последующему,вот она и не работает.
Думаю не обойтись без дополнительных циклов(так,дай подумать!или опять же разложить массив в одномерный размером в 8*8=64),но не могу понять как это обработать. 
    for (int i = 0; i < n && i != (i+1); i++)
    {
        for (int j = 0; j < n && j != (j+1); j++)
        {
            if (a[i][j] < min) min = a[i][j];
            //{
            //z=i;x=j;
        //  }
            if (a[i][j] > max) max = a[i][j];
        }
    }
    //cout << "z="<<z<<endl<<"  x="<<x<<endl;
    cout << "min = " << min << endl << "max = " << max << endl;
    // Удаление массива
    for (int i = 0; i < n; i++)
    {
        delete[]a[i]; 
    }
    delete [] a; 
    system("pause");
    return 0;
}
Дальше найду индексы мин и макс значений в массиве,определю размерность нового "прямоугольного" масива(на фотке обозначено как e и q),создам одномерный массив из (q*e)элементов,разложу туда получившийся
"прямоугольник" по строкам.В этом одномерном массиве уже отсортирую элементы(по возрастанию) и занесу обратно в "прямоугольник.

//мой прямоугольник
int *arr[e*q]=new int; // одномерный массив
...
for (int i=0;i<e;i++)
for (int j=0;j<q;j++);
arr[i*q+j]=mass[i][j];//Тут подкоментирую.Первый элемент у нас с индексами i j [0][0] (заносим их в первый элемент одномерного массива arr[0*0+0] ) так же с элементом [0][1],[0][2]...[5][4],как-то так
ладно,пока это только теория.

А пока надо сделать первоначальный массив(который 8*8) уникальным,может у кого есть догадки с этим?
Прикладываю фотку,моих "рассуждений"

https://pp.vk.me/c408519/v408519363/...NSQPRQu6ks.jpg
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru