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

В одномерном массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Исключительные ситуации в классах http://www.cyberforum.ru/cpp-beginners/thread604573.html
Добрый день. Нужна помощь, есть класс дробей. В нём я сделал исключительные ситуации для переполенения и для деления на 0. Но надо чтобы try-catch были в функции main, а в классе только throw. Как это сделать? //class.h------------------------------------------------------------- #ifndef _DROB_H #define _DROB_H #include <math.h> #include <iostream.h>
C++ Шифрование символов в файле День добрый! Проблема такова: Есть файл содержащий исходный набор символов(текст, строки и т.д.). нужно составить программу для шифрования каждого символа исходного файла методом добавления определенного ключа, записать эту последовательность в другой файл, и дешифровать сообщение в третий файл. Есть исходный код на Delphi. program Crypto; {$APPTYPE CONSOLE} http://www.cyberforum.ru/cpp-beginners/thread604554.html
C++ Класс "окружность"
Написать программу работы с окружностями. Окружность является объектом класса. Память под окружность должна выделяться динамически (с помощью new). Должны быть определены деструктор и следующие конструкторы: · Конструктор по умолчанию создает нулевую окружность; · Конструктор, задающий окружность по центру и радиусу; · Копирующий конструктор. ...
C++ Матрицы: сложения двух матриц (двумерных массивов)
Необходимо написать программу сложения двух матриц (двумерных массивов) на языке СИ++. Даны матрицы A и B. Надо их объявить и заполнить случайным образом через random, распечатать, получить матрицу C, которая состоит из сумм элементов массива A и массива B (C = A + B). Результат распечатать. Подсчитать сумму элементов массива C и распечатать. По поиску что-то не нашёл подобного.
C++ Множества http://www.cyberforum.ru/cpp-beginners/thread604502.html
Дан текст на английском языке, который заканчивается точкой. В тексте удалить все гласные буквы, а согласные заменить на прописные.
C++ Текстовые файлы Дан файл, содержащий текст на русском языке. Выбрать из него те символы, которые встречаются в нем только один раз, в том порядке, в котором они встречаются в тексте. подробнее

Показать сообщение отдельно
yleart
60 / 45 / 1
Регистрация: 07.10.2011
Сообщений: 139
13.06.2012, 19:57     В одномерном массиве
1)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
int main()
{
    int n;
    std::cout << "Enter lenght ";
    std::cin >> n;
    int * a;
    a = new int [n];
    std::cout << "Enter elements: ";
    int q = 0;
    for (int i = 0; i < n; ++i)
    {
        std::cin >> a[i];
        if (a[i] > 0)
            ++q;
    }
    std::cout << "Positive elements: "<< q << std::endl;
    return 0;
    
}
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
#include<iostream>
int main()
{
    int n;
    std::cout << "Enter lenght: ";
    std::cin >> n;
    if (n < 1)
    {
        std::cout << "Error!\n";
        return 0;
    }
    float * a;
    a = new float [n];
    std::cout << "Enter elements: ";
    int q = -1;
    for (int i = 0; i < n; ++i)
    {
        std::cin >> a[i] ;
        if (a[i] == 0 && q < i)
        {
            q = i;
        }
    }
    int sum = 0;
    for (; q < n; ++q)
    {
        sum += a[q];
    }
    std::cout << "Sum: " << sum << std::endl;
    for(int i=0; i < n; ++i)
        for (int j = n - 1; j > i; --j)
        {
            if(a[j-1] > a[j])
            {
                int k;
                k = a[j-1];
                a[j-1] = a[j];
                a[j] = k;
            }
        }
    return 0;
}
Проверил только на компиляцию, в логике возможны ошибки, исправлю

Добавлено через 38 минут
1)
Перед return 0; вставь строку
C++
1
delete []a
2)
Перед return 0; вставь эти строчки:
C++
1
2
3
for (int i = 0; i < m; ++i)
     delete matrix[i];
delete []matrix;
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
#include<iostream>
//Функция поиска первой строки в которой есть положительный элемент
int SearchElement(int **matrix, int n, int m);
int main()
{
int m,n;
    int **matrix;
    std::cout << "Enter n:";
    std::cin >> n;
    std::cout << "Enter m:";
    std::cin>>m;
    matrix=new int *[n];
    for (int i = 0;i < m; ++i)
        matrix[i]=new int [m];
    std::cout << "Enter elements: ";
    for(int i = 0; i < n; ++i)
        for(int j = 0; j < n; ++j)
            std::cin >> matrix[i][j];
    int q;
    q = SearchElement(matrix, n, m);
    if (q != -1)
    std::cout << "First row with positive element: " << q << std::endl;
    else 
    std::cout << "Error!" << std::endl;
    for (int i = 0; i < m; ++i)
        delete matrix[i];
    delete matrix;
    return 0;
    
    
}
int SearchElement(int **matrix, int n, int m)
{
    for (int i = 0; i < n ; ++i)
        for(int j = 0; j < m; ++j)
            if(matrix[i][j] > 0)
                return i;
    return -1;
}
А вот как очистить матрицу от нулевых столбцов и строк без использования <vector> или дополнительного массива я не знаю..
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru