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

Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать комментарии http://www.cyberforum.ru/cpp-beginners/thread609245.html
НАПИШИТЕ ПОЖАЛУЙСТА КОММЕНТАРИЙ, К КАЖДОЙ СТРОКЕ, ЧЕРЕЗ// ЧТО ОЗНАЧАЕТ КАЖДАЯ СТРОКА //1 лаба поиск в массиве 1 задание линейный последовательный поиск #include "stdafx.h" #include <conio.h> #include <locale.h> #include <time.h> #include <iostream> using namespace std;
C++ Создание числовых последовательностей методами поиска Создать пять числовых последовательностей. С помощью методов поиска: 1) ЛИНЕЙНОГО (ПОСЛЕДОВАТЕЛЬНОГО) 2) БЫСТРОГО ЛИНЕЙНОГО 3) ДИХОТОМИЧЕСКОГО (БИНАРНОГО) http://www.cyberforum.ru/cpp-beginners/thread609243.html
C++ Знак зодиака
За указаной информацией о человеке (фамилия,дата рождения "день""месяц""год") вывести людей дата рождение которых соответствует знаку зодиака введённого из клавиатуры! Добавлено через 6 минут помогите плиз Добавлено через 15 минут Аппінг
C++ Массив: Напишите функцию, которая «убирает» из массива дубли.
Помогите пожалуйста. Я знаю что лёгкое задание ну что то я туплю(.. Создайте одномерный массив (размерность вычисляется в процессе выполнения программы), заполните его значениями. Напишите функцию, которая «убирает» из массива дубли. Подсказка: при этом размер массива должен уменьшиться! Для проверки напишите функцию, которая выводит значения всех элементов на экран Добавлено через...
C++ Программа для расчета давления взрыва и пожароопасности газов и паров http://www.cyberforum.ru/cpp-beginners/thread609194.html
Надо сделать (для себя) программу для расчета давления взрыва, все формулы есть. Много значений, которые надо выбирать поэтапно (такие как размеры помещения, объем газов в цехе, длина трубопровода до задвижки, виды газа, диаметр трубы, плотность газа) В маткаде, екселе сделать просто. (забивать трудно и непрактично) Хотелось бы оформить в интерфейсе Windows. Тоесть открыл программу, взял и начал...
C++ Очередь: Создать две новые очереди в которых будут находиться отдельно положительные и отрицательные числа Задана очередь элементов, содержащий положительные и отрицательное числа.Создать две новые очереди в которых будут находиться отдельно положительные и отрицательные числа Добавлено через 8 минут ПЛЗ.Очень надо=( Добавлено через 10 минут uping themes подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
19.06.2012, 22:50     Сформировать новую строку из 7-символьных слов, состоящих из латинских букв, не имеющих аналогов записи в русском языке
Вот, пожалуйста, я слегка доделал код:

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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
#include <locale.h>
 
bool isnum(char* psz);
bool iscyrr(char* psz);
 
int main()
{
    setlocale(LC_ALL,"Russian");
 
    static char* psz = "apple 139 256 verdict 15 viaduct cocktail aquarel\0";
 
    char* buf = psz; 
    int x = 0, *nums = new int[3];
    while ((buf = strchr(buf,' ')) != NULL && *psz != '\0')
    {   
        char temp[256] = "\0"; int n = 0;
        while (*psz != *buf && *psz != '\0') 
            temp[n++] = *psz++;
        temp[n] = '\0'; *psz++;
    
        if (isnum(temp) && x < 3)
        {
            nums[x] = atoi(temp);
            if (x == 0)
            {
                printf("%d - %d - %d\n",nums[x],  // Само число.
                    (int)pow((double)nums[x],2),  // Возведение в квадрат
                    (int)pow((double)nums[x],3)); // Возведение в куб
            }
 
            x++;
        }
        
        else if (strlen(temp) == 7 && !iscyrr(temp))
            printf("%s\n",temp);
    }
 
    printf("\n");
 
    for (int d = 0; d < 3; d++)
        printf("%d ",nums[d]);
    printf("\n");
 
    _getch();
 
    return 0;
}
 
bool iscyrr(char* psz)
{   
    bool found = false;
    for (int i = 0; psz[i] != '\0' && !found; i++)
        found = (psz[i] >= 'а' && psz[i] <= 'я') ? 1 : 0;
    return found;
}
 
bool isnum(char* psz)
{
    bool found = false;
    for (int i = 0; psz[i] != '\0' && !found; i++)
        found = (isalpha(psz[i])) ? 1 : 0;
    return !found;
}
http://liveworkspace.org/code/594fa1...9db88ff155fd86
 
Текущее время: 07:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru