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

Сформировать одномерный массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить номер цифры в числе http://www.cyberforum.ru/cpp-beginners/thread60868.html
Дано натуральное число. Определить номер некоторой заданной цифры в нем, считая от конца числа. Если такой цифры нет, ответом должно быть число 0. Если таких цифр несколько, должен быть определен номер первой из них. Помогите, пожалуйста, никак не могу сообразить!
C++ Проинтегрировать дифференциальное уравнение Проинтегрировать дифференциальное уравнение y‘ = ху + 2 на отрезке 0 < х < 1 при у(0) = 0,5. Условие задачи. Методом трапеций вычислить интеграл http://www.cyberforum.ru/cpp-beginners/thread60863.html
Передача файла через COM port C++
Вопрос Чайника. Начал программировать на С++ совсем недавно и вот столкнулся с такой проблемойЖ Нужно отправить в порт файл по частям. Описываю har Buff Но прежде чем отправлять пакет в начало нужно добавить адрес по которому буфер будет сохранен в принимающем устройстве. И в конец пакета контрольную сумму всего пакета вместе с адресом. Вот тут возникла проблема. Если бы не контр. сумма - то...
Сохранить все цифры числа в отсортированном массиве C++
Примерное задание на моей контрольной работе Помогите плиз не завалить)) Ввести натуральное число. Сохранить все его цифры: а) в отсортированном массиве (массив распечатать); б) в списке (список распечатать). Найти палиндром максимальной длины, который можно построить из цифр числа.
C++ Executable For Deburg Session,что делать? http://www.cyberforum.ru/cpp-beginners/thread60825.html
Ребята такой вопрос поставил с++ 2005,пишу обычную програмку нажимаю Run и вот отно мне что выводит,что с этим делаь подскажите,заранее благодарен.
C++ размер файла Господа!!! прям проблема у меня. не могу получить размер файла через GetFileSize. #include"windows.h" int __stdcall WinMain(HINSTANCE h1,HINSTANCE h2,char*args,int show) { unsigned long token; unsigned long size; HANDLE h=CreateFileA("C:\\any.file",GENERIC_READ,FILE_SHARE_READ,0,OPEN_ALWAYS,0,0); DWORD s; HANDLE t=h; GetFileSize(h,&s); подробнее

Показать сообщение отдельно
audiophile
9 / 9 / 0
Регистрация: 01.11.2009
Сообщений: 67
03.11.2009, 21:22     Сформировать одномерный массив
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
#include <iostream>
using namespace std;
 
bool charornot (char ch) { // проверка буква ли это или цифра
    char mas[] = {"1234567890"};
    int i, flag = 0;
    for ( i = 0; i < 10; i++ )
        if ( ch == mas[i] ) {
            flag = 1;
            break;
        }
    if ( flag == 0 )
        return false;
    else
        return true;
}
 
int power (int p) { // для вычисления
    int i, j = 1;
    for ( i = 0; i < p; i++ )
        j *= 10;
    return j;
}
 
int figure2number (char ch) { // преобразует char-овскую "цифру" в настоящую int-овскую цифру
    switch (ch) {
        case '1': return 1; break;
        case '2': return 2; break;
        case '3': return 3; break;
        case '4': return 4; break;
        case '5': return 5; break;
        case '6': return 6; break;
        case '7': return 7; break;
        case '8': return 8; break;
        case '9': return 9; break;
        case '0': return 0; break;
        default: return -1; break;
    }
}
 
int sum (char mas[], int size) { // переводит тестовую строку с цифрами (буквами) в число
    int sum = 0, i;
    for ( i = 0; i < size; i++ )
        sum += figure2number(mas[i]) * power(size-i-1);
    return sum;
}
 
int main (int argc, char * const argv[]) {
    char * c1 = "We12lcome 0 999999 to the 123rd11 22";
    int i, j, c, h = 0, lengh = strlen(c1);
    const int size = lengh;
    int index[size];  // массив для индексов
    char mas1[size]; // массив для "числа", представленного char-овскими цифрами
    int answer[size]; // массив для ответа
    
    for ( i = 0; i < lengh; i++ ) {
        if ( charornot(c1[i]) == false )
            continue;
        else {
            j = 0;
            while ( charornot(c1[i]) == true ) {
                index[j] = i; // записали индекс цифры
                j++;
                i++;
                }
            for ( c = 0; c < j; c++ )
                mas1[c] = c1[index[c]]; // записали сюда одно лишь char-овское "число"
            answer[h] = sum(mas1,j); // положили сюда настоящее int-овское число
            h++;
        }
    }
    for ( i = 0; i < h; i++ )
        cout << answer[i] << endl;
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru