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

Массивы и строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Замена строки в файле http://www.cyberforum.ru/cpp-beginners/thread92744.html
Здравствуйте, подскажите новичку! Проблема в следующем: например есть файл txt в нем например строки(состоящие из символов): уор189р3 к280е ht40tjg 11 fegb94tt34t rrh89g-bgrfgp0rueht9 gf4839gh39-ij989uf47t34y0 нужно найти строку какую-то и и заменить на то что напишет пользователь.... я сразу столкнулся с проблемой, (т.к. только разбираюсь во всем):
C++ как можно перевести `int*' to `UINT' Есть программа в которой нужно отмечать сохраненные пункт меню. Решил данные об отмеченых пунктах записывать в реестр, после запуска программа должна читать данные с реестра и отмечать их. Вот код чтения реестра { HKEY hKey = 0; int buf = {0}; DWORD dwType = 0; DWORD dwBufSize = sizeof(buf); TCHAR szPath; const char* subkey = "Software\\my_app"; http://www.cyberforum.ru/cpp-beginners/thread92742.html
Указатели в Си++ C++
Задание 1. В оперативной памяти вектор int X расположен, начиная с адреса B7F0. Какие значения примут выражения: а) X+1; б) X+5; в) X-4? Задание 2.В программе объявлен массив: int P ={0, 2, 4, 5, 6, 7, 9, 12}; Какие значения примут выражения:
C++ В оперативной памяти вектор int X[10] расположен, начиная с адреса B7F0
Задание 1. В оперативной памяти вектор int X расположен, начиная с адреса B7F0. Какие значения примут выражения: а) X+1; б) X+5; в) X-4? Задание 2.В программе объявлен массив: int P ={0, 2, 4, 5, 6, 7, 9, 12}; Какие значения примут выражения:
C++ Решание СЛАУ методом Гаусса в С++ http://www.cyberforum.ru/cpp-beginners/thread92721.html
Салют обитателям форума! Вот значит какое дело, у меня такое задание : "Решение уравнений методом Гаусса. Коэффициенты обрабатываются в двух матрицах: матрице модуля и матрице угла комплексного числа в символической форме." Пытаюсь делать сам, для начала я разбил исходную матрицу на 2 двумерных массива(модуля и угла); перевел углы в радианы. Тут дело встало, нужно найти максимальный элемент, он...
C++ Рекурсия от рекурсии Люди, помогите! Я в с++ относительно недавно, в паскале-делфи никаких проблем не было. Значит мне нужно: int pekypc() { ... int pekypc() ... } int main() подробнее

Показать сообщение отдельно
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
05.02.2010, 21:48     Массивы и строки
Правильное решение первых двух с правильными комментариями
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
#include <iostream>//подключение библиотеки ввода/вывода
//printf и scanf к ней не имеют никакого отношения
 
int main()
{
    int n, i, j, m;//объявляем переменные, старайтесь избегать(!) глобальных переменных
    int *mas;//объявляем указатель на наш массив
    std::cout<<"Input length:\n> ", 
        std::cin>>n;//вводим количество элементов в массиве
    mas = new int[n];//выделяем под него память. выделение происходит только при new
    //в предыдущем варианте как вам писали, это было не выделение, а инициализация
    //при объявлении
    
    std::cout<<"Set:\n";
    for(i = 0; i < n; ++i)
        mas[i] = rand()%10,//заполняем массив случайными числами [0, 10]
            std::cout<<mas[i]<<' ';//выводим их 
    
    for(i = 1; i < n; i <<= 1)//первое задание
        std::cout<<mas[i]<<' ';
    
    std::cout<<std::endl;
    std::cout<<"Input m:\n> ", 
        std::cin>>m;
 
    for(i = 0; i < n; ++i)//второе задание
        for(j = i + 1; j < n; ++j)
            if(mas[i] + mas[j] == m)
                std::cout<<"\nmas["<<i<<"] = "<<mas[i]<<
                    "\nmas["<<j<<"] = "<<mas[j]<<std::endl;
    system("pause");//задержка экрана
    return EXIT_SUCCESS;
}
Добавлено через 6 минут
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
#include <iostream>
 
int main()
{
    int n, i, j, k, count(0), max(-1);
    int **mas;
    std::cout<<"Input length:\n> ", 
        std::cin>>n;
    mas = new int*[n];
    for(i = 0; i < n; ++i)
    {
        mas[i] = new int[n];
        for(j = 0; j < n; ++j)
        mas[i][j] = rand()%100;
    }
    
    std::cout<<"Set:\n";
    for(i = 0; i < n; ++i, std::cout<<std::endl)
        for(j = 0; j < n; ++j)
            std::cout<<mas[i][j]<<'\t';
            
    std::cout<<"Input m:\n> ", 
        std::cin>>k;
        
    for(i = 0; i < n; ++i)
        for(j = 0; j < n; ++j)
            if(!(mas[i][j] % k))//проверка на кратность
            {
                ++count;
                if(mas[i][j] > max)//поиск максимума
                max = mas[i][j];
            }
    std::cout<<"Count:\n< "<<count<<"\nMax:\n< "<<max<<std::endl;
    system("pause");
    return EXIT_SUCCESS; 
}
Добавлено через 7 минут
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()
{
    char str[1024];
    std::cout<<"Input string:\n> ", 
        std::cin.getline(str, 1024);//ввод строки
    int i, j, count(0), len(strlen(str));//нахождение длины введенной строки
    for(i = 0; i < len; ++i)
        if(str[i] == ':')//поиск двоеточия
        {
            ++count;//увеличиваем счетчик
            for(j = i; j < len - 1; ++j)//удаляем его
                str[j] = str[j + 1];
            str[len - 1] = '\0';//перемещаем конец строки
        }
    std::cout<<"Result:\n< "<<str<<"\nCount:\n< "<<count<<std::endl;//выводим результат
    system("pause");
    return EXIT_SUCCESS; 
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru