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

Оцените код - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Составить программы вычисления значений суммы и произведений ряда http://www.cyberforum.ru/cpp-beginners/thread354306.html
Помогите кто нибудь. (0.5*n!)/(0/1*n+1) надо Составить программу вычисления значений суммы и произведений ряда там перед формулой П большая. над ней m под ней n-2
C++ вопрос по среде программирования dev-cpp Объясните пожалуйста чем в среде программирования %lf отличается от ну например %i. К примеру в такой задачке "Дано трехзначное число. В нем зачеркнули первую слева цифру и приписали ее в конце. Найти полученное число." #include <cstdlib> #include <math.h> #include <stdio.h> using namespace std; int main(void) { int x,y,a,b,c; http://www.cyberforum.ru/cpp-beginners/thread354302.html
факториал (2k+1)!с++ C++
помогите пожалуйста посчитать факториал (2k+1)! и если возможно с построчными комментариями заранее спасибо!
C++ Скачать исходник с SourceForge.net
Помогите разобраться с сайтом SourceForge.net. Хочу участвовать в каком-нибудь Open Source проекте, ранее не принимал подобных участий. Какую программу посоветует скачать для новичка и как это сделать?
C++ Строка ожидания и загрузки http://www.cyberforum.ru/cpp-beginners/thread354270.html
Еще раз привет всем. Может кто нибудь знает как на С++ написать строку ожидания типа Please wait... и чтобы эти "три точки" появлялись и исчезали надеюсь поняли что хочу сказать. Чnо то вроде Loading... и ещу... у меня есть программка #include <iostream> using namespace std; int main() { int percent = 100; for (int i = 0; i <= percent; i++)
C++ Одномерный Массив Разработать программу обработки одномерного динамического массива. Программа должна содержать меню с перечнем вариантов работы с массивом и возможность выбора соответствующего пункта меню с обращением к функции, реализующей выбранное действие над массивом: а) ввод массива; б) вывод массива; в) вставка в массив новых элементов: -Вставить в массив элемент с заданным значением после каждого... подробнее

Показать сообщение отдельно
Hitlok
0 / 0 / 0
Регистрация: 16.05.2011
Сообщений: 5
20.09.2011, 22:27     Оцените код
Суть задания: дана непрямоугольная матрица(в каждой строке разное кол-во элементов). Необходимо вывести в другую строку число уникальных элементов. Например вводим:
1 2 3
1 1 1 2
1 3 3 2 3
Получаем: 3 2 3.
Если будет не трудно, подскажите, почему если вводить в строку только одинаковые эл-ты прога выдаст неверный результат.
Ну и конечно же буду благодарен за все замечания по коду
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
# include <iostream>
using namespace std;
struct MxLine {
    int length_of_line;         // длина строки
    int *line;                  // ук-ль на начало строки
};
struct Matrix {
    MxLine *mxline;             // ук-ль на массив строк
    int count_of_rows;           // количество строк      
};
void create_matr(Matrix &matr);
void print_matr(Matrix &matr);
void find_vector(Matrix &matr);
void delete_matr(Matrix &matr);
void print_menu(Matrix &matr);
int main() {
    Matrix matr = {0, 0};
    print_menu(matr);
    //create_matr(matr);
    //print_matr(matr);
    //find_vector(matr);
    //system("pause");
    return 0;
}
void create_matr(Matrix &matr) {
    cout << "Input count of rows: ";
    cin >> matr.count_of_rows;
    matr.mxline = new MxLine[matr.count_of_rows];
    for (int i = 0; i < matr.count_of_rows; i++) {
        cout << "Input length of line " << i << ": ";
        cin >> matr.mxline[i].length_of_line;
        matr.mxline[i].line = new int[matr.mxline[i].length_of_line];
        for(int j = 0; j < matr.mxline[i].length_of_line; j++) {
            cout << "Input matr[" << i << "]" << "[" << j << "]" << ": ";
            cin >> matr.mxline[i].line[j];    
        }       
    }
    cout << endl;        
}
void print_matr(Matrix &matr) {
    cout << "Basic matrix: " << endl;
    for (int i = 0; i < matr.count_of_rows; i++) {
        for (int j = 0; j < matr.mxline[i].length_of_line; j++) {
            cout << matr.mxline[i].line[j] << " ";
        }
        cout << endl;
    }
}
void find_vector(Matrix &matr) {
    int k = 0;
    int length = 0;
    int *vec = new int[k];
        for (int i = 0; i < matr.count_of_rows; i++) {
            length = matr.mxline[i].length_of_line;
            for (int j = 0; j < matr.mxline[i].length_of_line; j++) {
                for (int l = j + 1; l < matr.mxline[i].length_of_line; l++) {
                    if (matr.mxline[i].line[j] == matr.mxline[i].line[l]) {
                        length--;
                }
            }
        }
        vec[k] = length;
        k++;
    }
    cout << endl;
    cout << "Vector: " << endl << endl;
    for (int i = 0; i < k; i++) {
        cout << vec[i] << " ";
    }
    vec = 0;
    cout << endl;
    cout << endl;
}
void delete_matr(Matrix &matr) {
    for (int i = 0; i < matr.count_of_rows; i++ ) {
        delete[] matr.mxline[i].line;
    }
    delete[] matr.mxline;
    matr.count_of_rows = 0;
    matr.mxline = 0;
}
void print_menu(Matrix &matr) {
    cout << endl;
    char choice = '0';
    do {
        cout << "1: Create new matrix" << endl;
        cout << "2: Print basic matrix" << endl;
        cout << "3: Print vector" << endl;
        cout << "4: Create and print new matrix, print vector" << endl;
        cout << "0: Exit" << endl;
        cout << "Your choice: ";
        cin >> choice;
        switch(choice) {
        case '1': create_matr(matr);
                  break;
        case '2': print_matr(matr);
                  break;
        case '3': find_vector(matr);
                  delete_matr(matr);
                  break;
        case '4': create_matr(matr);
                  print_matr(matr);
                  find_vector(matr);
                  delete_matr(matr);
                  break;
        case '0': break;
        default: cout << "It's wrong choice, try again" << endl;
        }
    }
    while (choice != '0');
    cout << endl << endl;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru