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

Arrives - C++

Восстановить пароль Регистрация
 
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
07.03.2011, 17:28     Arrives #1
Подскажите в чем ошибка в цикле. Почему мне в нем лобуду дают?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
int main(void)
{
     int arrive[7];
     for (int i = 0;i<7;i++)
     {int b=0;
         arrive[i]= b++;
         cout<<arrive[i]<<" ";
     }
 
     cout << arrive[0]<<endl;
     cout << arrive[1]<<endl;
     cout << arrive[7]<<endl;
 
     cin.get();
     cin.get();
     return 0;
}
У меня задача. Нужно С помощью цикла присвоить каждому элементу массива значения, выводя все это на экран и после этого выборочно вывести элементы.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
07.03.2011, 17:31     Arrives #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
int main()
{
         int arrive[7];
         int b=0;//Чтобы не обнулялся в цикле.
         for (int i = 0;i<7;i++)
         {
                 arrive[i]=b=b+1;
                 cout<<arrive[i]<<" ";//Выводим все таки элемент а не адрес не так-ли?
         }
         cout<<endl;
 
 
         cout << arrive[0]<<endl;
         cout << arrive[1]<<endl;
         cout << arrive[6]<<endl;//Элементов 7, так как с нуля, максимальный индекс возможный - 6.
 
         cin.get();
         cin.get();
         return 0;
}
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
07.03.2011, 20:17  [ТС]     Arrives #3
Спасибо ! Заметил пару своих ошибок.

Добавлено через 2 часа 40 минут
Скажите как сделать так чтоб в консоле в этой программе при выводе имени, которое ввели по русски выходили не крякозябли, а кириллические символы ?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    string arrive[80];
    cout << "Введи имя ";
    cin >>  arrive[30];
    cout<<"Тебя звать " << arrive[30];
 
    cin.get();
    cin.get();
    return 0;
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
07.03.2011, 20:21     Arrives #4
Функции ща напишу для перевода. 5 сек.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
using namespace std;
int main()
{
        setlocale(LC_ALL, "Russian");
        string arrive;
        cout << "Введи имя ";
        cin >>  arrive;
        cout<<"Тебя звать " << arrive;
 
        cin.get();
        cin.get();
        return 0;
}
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
07.03.2011, 20:24  [ТС]     Arrives #5
Вот крякозяблы
Миниатюры
Arrives  
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
07.03.2011, 20:37     Arrives #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
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
 
std::string toAscii(const std::string& rus)
{
    std::string res;
    OemToChar(rus.c_str(), const_cast<char*>(res.c_str()));
    return std::string(res.c_str());
}
 
std::string toRus(const std::string& asc)
{
    std::string res;
    CharToOem(asc.c_str(), const_cast<char*>(res.c_str()));
    return std::string(res.c_str());
}
 
int main()
{
        setlocale(LC_ALL, "Russian");
        string arrive;
        cout << "Введи имя ";
        cin >>  arrive;
        cout<<"Тебя звать " << toAscii(arrive);
 
        cin.get();
        cin.get();
        return 0;
}
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
07.03.2011, 20:48  [ТС]     Arrives #7
Не компилируется 4 ошибки выдает ((
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
07.03.2011, 20:52     Arrives #8
parkito, Поставь использовать кодировку multibyte а не юникод.
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
07.03.2011, 21:01  [ТС]     Arrives #9
Цитата Сообщение от ForEveR Посмотреть сообщение
parkito, Поставь использовать кодировку multibyte а не юникод.
Сейчас в настройках полазил не нашел. Как это сделать ? Никаких негативных последствий это не вызовит ?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
07.03.2011, 21:03     Arrives #10
parkito, Ну я же не могу угадать какой у вас компилятор. Яндекс - найдется все.
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
07.03.2011, 21:34  [ТС]     Arrives #11
MVS 2010
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
07.03.2011, 21:36     Arrives #12
parkito, Тогда все проще.
Выбираем меню проект -> свойства -> свойства конфигурации -> Общее.
Поле набор знаков - ставим использовать многобайтовую кодировку.
Yandex
Объявления
07.03.2011, 21:36     Arrives
Ответ Создать тему
Опции темы

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