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

Формирование слова из заданных символов в одном массиве и их номеров в другом - C++

Восстановить пароль Регистрация
 
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 334
29.07.2015, 16:57     Формирование слова из заданных символов в одном массиве и их номеров в другом #1
У меня есть два массива int x[8]={ 20 , 28, 1, 12, 9, 60, 24, 13 } и символьный массив char*xbuk[8]={ "р", "е", "у" ,"в", "и" ,"т", "п", "с" } . У этих массивов равны их i .То есть каждому числу соответстует конкретная буква символьного массива. Как написать программу чтобы выводилась фраза ? Вернее, чтобы комп вывел конкретную фразу соответствующую числам: 60,28,24,28,20 1,13,28 24,28,20,28,12,9,20 .Между словами пробелы. Первый массив чисел находится с помощью небольшой программки на основании нарисованного алгаритма.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <cmath>
#include <iostream>
using namespace std;
int main(){
int a[8]={7,11,2,3,10,27,9,14};
int x,b;
    for(int i=0;i<8;i++){
    b=a[i]+3;
    if(b%2==0)
    cout<<b*2<<",";
    else
    cout<<b-4<<",";
 
    }
        
return  0;
}
Надо решить вторую часть задачи и совместить воедино. С чего начать?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MansMI
1047 / 844 / 205
Регистрация: 08.01.2012
Сообщений: 3,027
29.07.2015, 17:47     Формирование слова из заданных символов в одном массиве и их номеров в другом #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
void main()
{
    setlocale(LC_ALL,"Rus");
    int a[8]={7,11,2,3,10,27,9,14}, x[8];
    char xbuk[8]={ 'р', 'е', 'у' ,'в', 'и' ,'т', 'п', 'с' };
    int s[17]={60,28,24,28,20,0,1,13,28,0,24,28,20,28,12,9,20};
    
    for(int i=0;i<8;i++)
    {
        x[i]=a[i]+3;
        if(x[i]%2==0) x[i]*=2;
        else x[i]-=4;;
    }
    for(int i=0;i<17;i++)
    {
        int n=s[i];
        if(n)
        {
            int j;
            for(j=0;j<8;j++)
                if(x[j]==n) break;
            cout<<xbuk[j];
        }
        else cout<<" ";
    }
    cout<<endl;
    system("pause");
}
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 334
29.07.2015, 17:58  [ТС]     Формирование слова из заданных символов в одном массиве и их номеров в другом #3
MansMI, добрый день ,а ты проверял код ,работает ? У меня море ошибок компилятор выдал.может я директивы какие забыл?
MansMI
1047 / 844 / 205
Регистрация: 08.01.2012
Сообщений: 3,027
29.07.2015, 18:02     Формирование слова из заданных символов в одном массиве и их номеров в другом #4
+
#include <locale.h>
#include <windows.h>
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 334
29.07.2015, 18:30  [ТС]     Формирование слова из заданных символов в одном массиве и их номеров в другом #5
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
#include <cmath>
#include <iostream>
#include <stdlib.h>
using namespace std;
void main()
{
    setlocale(LC_ALL,"Rus");
    int a[8]={7,11,2,3,10,27,9,14}, x[8];
    char xbuk[8]={ 'р', 'е', 'у' ,'в', 'и' ,'т', 'п', 'с' };
    int s[17]={60,28,24,28,20,0,1,13,28,0,24,28,20,28,12,9,20};
    
    for(int i=0;i<8;i++)
    {
        x[i]=a[i]+3;
        if(x[i]%2==0) x[i]*=2;
        else x[i]-=4;;
    }
    for(int i=0;i<17;i++)
    {
        int n=s[i];
        if(n)
        {
            int j;
            for(j=0;j<8;j++)
                if(x[j]==n) break;
            cout<<xbuk[j];
        }
        else cout<<" ";
    }
    cout<<endl;
    system("pause");
   }
g++ -Wall -c "рабочий код.cpp" -std=c++0x (в каталоге: /home/sergei/с++ коды)
рабочий код.cpp:9:20: предупреждение: многознаковая символьная константа [-Wmultichar]
рабочий код.cpp:9:26: предупреждение: многознаковая символьная константа [-Wmultichar]
рабочий код.cpp:9:32: предупреждение: многознаковая символьная константа [-Wmultichar]
рабочий код.cpp:9:38: предупреждение: многознаковая символьная константа [-Wmultichar]
рабочий код.cpp:9:44: предупреждение: многознаковая символьная константа [-Wmultichar]
рабочий код.cpp:9:50: предупреждение: многознаковая символьная константа [-Wmultichar]
рабочий код.cpp:9:56: предупреждение: многознаковая символьная константа [-Wmultichar]
рабочий код.cpp:9:62: предупреждение: многознаковая символьная константа [-Wmultichar]
рабочий код.cpp:5:11: ошибка: «::main» должна возвращать «int»
рабочий код.cpp: В функции «int main()»:
рабочий код.cpp:9:67: ошибка: narrowing conversion of «53632» from «int» to «char» inside { } [-fpermissive]
рабочий код.cpp:9:67: предупреждение: переполнение при неявном преобразовании константы [-Woverflow]
рабочий код.cpp:9:67: ошибка: narrowing conversion of «53429» from «int» to «char» inside { } [-fpermissive]
рабочий код.cpp:9:67: предупреждение: переполнение при неявном преобразовании константы [-Woverflow]
рабочий код.cpp:9:67: ошибка: narrowing conversion of «53635» from «int» to «char» inside { } [-fpermissive]
рабочий код.cpp:9:67: предупреждение: переполнение при неявном преобразовании константы [-Woverflow]
рабочий код.cpp:9:67: ошибка: narrowing conversion of «53426» from «int» to «char» inside { } [-fpermissive]
рабочий код.cpp:9:67: предупреждение: переполнение при неявном преобразовании константы [-Woverflow]
рабочий код.cpp:9:67: ошибка: narrowing conversion of «53432» from «int» to «char» inside { } [-fpermissive]
рабочий код.cpp:9:67: предупреждение: переполнение при неявном преобразовании константы [-Woverflow]
рабочий код.cpp:9:67: ошибка: narrowing conversion of «53634» from «int» to «char» inside { } [-fpermissive]
рабочий код.cpp:9:67: предупреждение: переполнение при неявном преобразовании константы [-Woverflow]
рабочий код.cpp:9:67: ошибка: narrowing conversion of «53439» from «int» to «char» inside { } [-fpermissive]
рабочий код.cpp:9:67: предупреждение: переполнение при неявном преобразовании константы [-Woverflow]
рабочий код.cpp:9:67: ошибка: narrowing conversion of «53633» from «int» to «char» inside { } [-fpermissive]
рабочий код.cpp:9:67: предупреждение: переполнение при неявном преобразовании константы [-Woverflow]
Сборка завершилась с ошибкой. У меня линукс система . РАботаю с компилятором g++ , среда Geany

Добавлено через 21 минуту
MansMI, У меня линукс система . РАботаю с компилятором g++ , среда Geany
Что то с кодировкой у меня. все ошибки связаны со строчкой
C++
1
  char xbuk[8]={ 'р', 'е', 'у' ,'в', 'и' ,'т', 'п', 'с' };
MansMI
1047 / 844 / 205
Регистрация: 08.01.2012
Сообщений: 3,027
29.07.2015, 18:33     Формирование слова из заданных символов в одном массиве и их номеров в другом #6
тогда апострофы на кавычки поменять
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 334
29.07.2015, 18:36  [ТС]     Формирование слова из заданных символов в одном массиве и их номеров в другом #7
MansMI,
C++
1
2
3
4
5
6
#include <cmath>
#include <iostream>
using namespace std;
int cript(int);
int a[8]={7,11,2,3,10,27,9,14},x[8];
 char xbuk[8]={ "р", "е", "у" ,"в", "и" ,"т", "п", "с" };
1.cpp:6:64: ошибка: избыточные элементы в инициализаторе для «char [8]»
Даценд
Модератор
 Аватар для Даценд
2526 / 2441 / 1248
Регистрация: 20.04.2015
Сообщений: 4,639
29.07.2015, 18:39     Формирование слова из заданных символов в одном массиве и их номеров в другом #8
sergei60,
на одинарные.
Хотя до этого уже были одинарные.
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 334
29.07.2015, 19:36  [ТС]     Формирование слова из заданных символов в одном массиве и их номеров в другом #9
заменил на букувы англ расладкой и одинарные оставил ,пока вроде пошло .разбираюсь дальше.

Добавлено через 48 минут
MansMI, зачем тут
C++
1
 else x[i]-=4;;
два раза точка с запятой ?
и непонятна фраза if(n) ,объясни пожалуйста.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2015, 19:51     Формирование слова из заданных символов в одном массиве и их номеров в другом
Еще ссылки по теме:

Перегрузка оператора индексации в одном классе и использование в другом C++
C++ 20 цифр и букв, выводятся 2 столбца, в одном буквы, в другом цифры
Почему в одном случае y=0, в другом - y=1 ? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
MansMI
1047 / 844 / 205
Регистрация: 08.01.2012
Сообщений: 3,027
29.07.2015, 19:51     Формирование слова из заданных символов в одном массиве и их номеров в другом #10
точка с запятой случайно, if(n): в int s[17] пробел 0 заменил
Yandex
Объявления
29.07.2015, 19:51     Формирование слова из заданных символов в одном массиве и их номеров в другом
Ответ Создать тему
Опции темы

Текущее время: 02:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru