Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
 Аватар для roker
0 / 0 / 0
Регистрация: 15.06.2009
Сообщений: 13

Программa-фильтр, переводящую строчные буквы в прописные

15.06.2009, 20:43. Показов 5161. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет-дана такая задача написать программу-фильтр, переводящую строчные буквы в прописные.Kто нибудь знает где можно взять инфу на эту задачу,писать я буду сам,а то поисковик мне так и ничего ненашол.Заранее благодарен.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.06.2009, 20:43
Ответы с готовыми решениями:

Преобразовать в строке все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные
Дана строка. Преобразовать в ней все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные.

Преобразовать все строчные буквы(как латинские, так и русские) в прописные, а прописные в строчные
Дана строка. Преобразовать в ней все строчные буквы(как латинские, так и русские) в прописные, а прописные в строчные. Помогите, прошу

Поменять все строчные буквы на прописные, прописные на строчные
Дана строка с некоторым текстом. Составить программу, которая меняет в этом тексте все строчные буквы на прописные, прописные на строчные и...

22
 Аватар для Gravity
577 / 571 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
15.06.2009, 20:50
http://www.cplusplus.com/refer... e/toupper/
1
Maniac
Эксперт С++
 Аватар для ISergey
1465 / 966 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
15.06.2009, 20:50
C++
1
cout << (char)toupper('d') << '\n';
упс. не успел
1
 Аватар для roker
0 / 0 / 0
Регистрация: 15.06.2009
Сообщений: 13
16.06.2009, 22:34  [ТС]
В чём может быть ещё причина-почему код непоказывает текст который должен из строчных букв меняться в прописные?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
int main()
{
    int i=0;
    cout << "Visual Studio Express.\n:";
    char c;
    while (str[i])
    {
    c=str[i];
    cout << "Text:" << (char) toupper (c) << endl;
    i++;
    }
    return 0;
}
0
 Аватар для EnzoMatrix
121 / 121 / 14
Регистрация: 14.03.2009
Сообщений: 462
16.06.2009, 22:36
а str объявить?
1
Maniac
Эксперт С++
 Аватар для ISergey
1465 / 966 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
17.06.2009, 01:12
C++
1
2
3
4
5
int main()
{
        int i=0;
        char str[] = "askjdgbkjashfg";
.............................................
1
Заказ софта
 Аватар для Search..
343 / 188 / 21
Регистрация: 26.05.2009
Сообщений: 863
17.06.2009, 01:53
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
#include <stdio.h>
#include <ctype.h>
#include <string.h>
 
int main(int argc, char * argv [])
{
    char line[1024];
 
    printf("Write string: ");
    fgets(line, sizeof(line), stdin);
 
    if(line == 0)
    {
        fprintf(stderr, "Error!\n");
        return -1;
    }
 
    size_t n = strlen(line);
    for(size_t i = 0; i < n; i++)
    {
        if(isupper(line[i]))
        {
            line[i] = tolower(line[i]);
        }
    }
 
    printf("Your string: %s\n", line);
 
    return 0;
}
1
 Аватар для mirso
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
17.06.2009, 03:12
roker,

вариант с американским алфавитом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//---------------------------------------------------------------
#include <iostream.h>
#include <conio.h>
 
//---------------------------------------------------------------
main()
{
 
  char * strr = "Io Maio! Lower Char! Russ No! Русс No!";
 
  for(int i = 0; i < strlen(strr); i++)
    //------строчные----------- //--------прописные------------//
    cout << char(strr[i]|0x20); // cout << char(strr[i]&0xdf); //
    //------------------------- //------------ ----------------//
 
getch();
}
//---------------------------------------------------------------
Принцип основан на замене бинарных позиций.
1
 Аватар для roker
0 / 0 / 0
Регистрация: 15.06.2009
Сообщений: 13
17.06.2009, 08:52  [ТС]
Ребята я вам благодарен за помощь-но было бы достаточно подсказки,а то ведь так можно просто код скопировать и в голове ничего не отложится.Спасибо за помощь.
0
 Аватар для roker
0 / 0 / 0
Регистрация: 15.06.2009
Сообщений: 13
18.06.2009, 19:27  [ТС]
Ребята вот алгоритм на уравнение-а ниже код,мне нужно знать правильно ли я написал или нет потому что ответ у меня получается Enter a.
> 1)ввести а
> 2)ввести b
> 3)ввести с
> 4) Если а=0, то уравнение линейное (имеет вид bx+c=0)
. . .
5) считаем дискриминант d=b*b-4*a*c
6) Если d=0, то одно решение x=-b/(2*a)
7) Если d>0, то два решения x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a);
8) Если d<0 то решений нет.

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
//подключить потоковую библиотеку ввода-вывода
#include <iostream>
//использовать стандартное пространство имен
using namespace std;
//начало функции main
int main()
{
 //ввести значение a,b,c
    double a,b,c;
    cout << "Enter a:";
    cin >> a;
    cout << "Enter b:";
    cin >> b;
    cout << "Enter c:";
    cin >> c;
 //узнать равен ли а нулю
    if(a==0)
    {
 //вывести решениe b,c 
     if(b==0 && c==0)
    {
 //вывеси сообщение x
     cout << "Any x is solution";
     }else
  if(b==0 && c!=0)
     {
 //Если b равно нулю а c не равно нулю
     cout << "x=0:";
     }
  else
     }
    x=-c/b;
    cout << x << endl;
     {
    else
     }
 //вычислить дискриминант
     double d=b*b-4*a*c;
     if(d==0)
     {
         d=-b/(2*a);
         cout << "d равно нулю." << endl;
     }
     else
     {
         x1=(-b - sgrt (d))/(2*a);
         x2=(-b + sgrt (d))/(2*a);
         cout << "d не равно нулю." << endl;
     }
     cout("x1=%f x2=%f");
}
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
18.06.2009, 21:20
Давай перенесём разговор из лички сюда.
Во-первых постановка вопроса очень интересная: "правильно ли я написал?". Первое, что хочется ответить: "а почему бы тебе самому это не проверить?". Вводишь три числа, смотришь, что тебе пишет программа, параллельно считаешь на листочке. Из всех вариантов коэффициэнтов ведь можно в конечном итоге самому вывести, что у тебя работает правильно, а что нет. С учётом этой информации ты бы мог более конкретно поставить вопрос типа "не работает программа при таких-то значениях коэффициэнтов, помогите разобраться". Ну и посмотри на свой текст программы. Она небольшая, но с таким форматированием в ней уже сложно разобраться. Просто когда ты просишь людей помочь, то человек, который бы тебе смог помочь, увидя такую помойку (уж извини за такое слово), скорее всего не захочет в ней копаться. Не говоря уж о том, что с аккуратно отформатированным текстом проще понимать, работать и искать ошибки

Почему я тебя всё это говорю? Если я тебя правильно понял - ты хочешь всё-таки научиться, а не так, чтобы делать (нажимать на кнопки) по чьей-то указке. И совершенно нормально при этом, что ты просишь у кого-то помощи. Но старайся при этом максимально сделать сам всё то, что сможешь, сделать это аккуратно и чётко поставить вопрос. В этом случае тем, кто будет отвечать на твой вопрос, гораздо меньше надо будет напрягаться, а потому более охотно тебе помогут, да и отношение к тебе будет хорошим
0
 Аватар для roker
0 / 0 / 0
Регистрация: 15.06.2009
Сообщений: 13
19.06.2009, 08:59  [ТС]
Если я правильно понял-ты имееш в виду скобки,постараюсь в следующий раз разместить правильно.Я конечно пишу сначало на листке-это понятно в голове это невозможно сохранить,но как я могу смотреть что мне пишет программа если её сначало надо скомпилировать?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
19.06.2009, 10:14
Когда что-то отправляешь на форум - нажми сначала кнопку "предварительный просмотр". А если отправляешь через быстрый ответ - то снчала "расширенный режим". Как показывает практика, что уже на этапе приведения программы в порядок можно обнаружить многие ошибки

Добавлено через 48 секунд
Я могу тебе показать на твои ошибки, но всё-таки исхожу из предположения, что тебе гораздо важнее сделать это самому
0
 Аватар для roker
0 / 0 / 0
Регистрация: 15.06.2009
Сообщений: 13
19.06.2009, 20:02  [ТС]
Вот переделал уравнение и 3 ошибки немогу разобрать-подскажите в каком направлении искать.
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
//подключить потоковую библиотеку ввода-вывода
#include <iostream>
//использовать стандартное пространство имен
using namespace std;
//начало функции main
int main()
{
  //ввести значение a,b,c
double a,b,c;
cout << "Enter a:";
cin >> a;
cout << "Enter b:";
cin >> b;
cout << "Enter c:";
cin >> c;
  //узнать равен ли а нулю
if(a==0)
{
  //вывести решениe b,c 
  if(b==0 && c==0)
{
  //вывеси сообщение x
  cout << "Any x is solution";
}
else if(b==0 && c!=0)
{
  //Если b равно нулю а c не равно нулю
  cout << "x=0:";
}
else 
{
  double x=-c/b;
  cout << x << endl;
}
} //a==0
else
{
  //вычислить дискриминант
  double d=b*b-4*a*c;
  double x1,x2;
  if(d==0)
  {
      x1 = x2 = -b/(2*a);
      cout << "d равно нулю." << endl;
}
else 
{
  x1=(-b - sgrt (d))/(2*a);
  x2=(-b + sgrt (d))/(2*a);
  cout << "d не равно нулю." << endl;
}
  cout("x1=%f x2=%f");
  return 0;
}
}
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
19.06.2009, 20:19
Касаемо трёх ошибок - тебе врядли кто-то поможет, если ты хотя бы не скажешь, а в чём ошибки-то заключаются И позволю себе немного отваорматировать твой текст в тот вид, который, на мой взгляд, воспринимается лучше

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
//подключить потоковую библиотеку ввода-вывода
#include <iostream>
//использовать стандартное пространство имен
using namespace std;
//начало функции main
int main()
{
    //ввести значение a,b,c
    double a,b,c;
    cout << "Enter a:";
    cin >> a;
    cout << "Enter b:";
    cin >> b;
    cout << "Enter c:";
    cin >> c;
 
    //узнать равен ли а нулю
    if(a==0)
    {
        //вывести решениe b,c 
        if(b==0 && c==0)
        {
            //вывеси сообщение x
            cout << "Any x is solution";
        }
        else if(b==0 && c!=0)
        {
            //Если b равно нулю а c не равно нулю
            cout << "x=0:";
        }
        else 
        {
            double x=-c/b;
            cout << x << endl;
        }
    } //a==0
    else
    {
        //вычислить дискриминант
        double d=b*b-4*a*c;
        double x1,x2;
        if(d==0)
        {
            x1 = x2 = -b/(2*a);
            cout << "d равно нулю." << endl;
        }
        else 
        {
            x1=(-b - sgrt (d))/(2*a);
            x2=(-b + sgrt (d))/(2*a);
            cout << "d не равно нулю." << endl;
        }
 
        cout("x1=%f x2=%f");
        return 0;
    }
}
Пока форматировал, сразу же обозначилось место, где фигурная скобка не там
Да и когда все cout'ы перед глазами, то по-моему бросается в глаза, что последний "не такой как все"

*** update: а не, со скобкой погорячился
1
 Аватар для roker
0 / 0 / 0
Регистрация: 15.06.2009
Сообщений: 13
19.06.2009, 21:24  [ТС]
Остались 2 ошибки вот тут написанно:"sgrt": Bezeichner wurde nicht gefunden.
C++
1
2
3
 
     x1=(-b - sgrt (d))/(2*a);
     x2=(-b + sgrt (d))/(2*a);
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
19.06.2009, 21:25
Омг... По немецки я не понимаю, но, судя по всему, нужно "#include <math.h>"
0
 Аватар для mirso
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
19.06.2009, 21:53
roker,
спасибо Evg за дешифратор!
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
//подключить потоковую библиотеку ввода-вывода
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <windows.h>
#define rus(s)  CharToOem(s, s)
 
//использовать стандартное пространство имен
using namespace std;
//---------------------------------------------
//начало функции main
int main()
{
    //ввести значение a,b,c
    double a, b, c;
    char * s1 = "d    равно нулю.";
    char * s2 = "d не равно нулю.";
    cout << "Enter a:";
    cin >> a;
    cout << "Enter b:";
    cin >> b;
    cout << "Enter c:";
    cin >> c;
 
    //узнать равен ли а нулю
    if(a==0)
    {
        //вывести решениe b,c 
        if(b==0 && c==0)
 
            //вывеси сообщение x
            cout << "Any x is solution";
 
        else
        if(b==0 && c!=0)
        {
            //Если b равно нулю а c не равно нулю
            cout << "x=0:";
        }
        else 
        {
            double x = -c/b;
            cout << " x = " << x << endl;
        }
    } //a==0
    else
    {
        //вычислить дискриминант
        double d = b*b - 4*a*c;
        double x1, x2;
 
        if(d==0)
        {
            x1 = x2 = -b/(2*a);
            rus(s1);
            cout << s1 << endl;
        }
        else
        {
            x1=(-b - sqrt(d))/(2*a);
            x2=(-b + sqrt (d))/(2*a);
            rus(s2);
            cout << s2 << endl;
        }
 
        cout << "x1(" << x1 << ") = x2(" << x2 << ");";
 
 
        getch();
        return 0;
    }
}
//---------------------------------------------
Добавлено через 5 минут 36 секунд
Цитата Сообщение от Evg Посмотреть сообщение
И позволю себе немного отваорматировать твой текст в тот вид, который, на мой взгляд, воспринимается лучше
Всеми!

Добавлено через 6 минут 15 секунд
roker,
g != q;
Но очень похожи!
Цитата Сообщение от roker Посмотреть сообщение
sgrt
0
 Аватар для roker
0 / 0 / 0
Регистрация: 15.06.2009
Сообщений: 13
20.06.2009, 17:37  [ТС]
Ребята никак несрастается (но, судя по всему, нужно "#include <math.h>")-неподходит.
Остались 2 ошибки вот тут написанно:"sgrt": Bezeichner wurde nicht gefunden:в переводе на русский("sgrt"значение не найдено.)
C++
1
2
     x1=(-b - sgrt (d))/(2*a);
     x2=(-b + sgrt (d))/(2*a);
Что можно ещё сделать уже голова кипит.
0
 Аватар для and
22 / 22 / 3
Регистрация: 12.05.2009
Сообщений: 43
20.06.2009, 18:22
Не "sgrt" а "sqrt"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.06.2009, 18:22
Помогаю со студенческими работами здесь

Заменить прописные буквы на строчные
Доброго всем здравия, нужно заменить заглавные буквы на маленькие в строке. Прошу подсказки. С массивом я бы сам справился, а со строкой...

Изменить строчные буквы на прописные
Встал вопрос: как сделать строчные буквы прописными. В Turbo Pascal есть очень удобная операция upcase. Есть ли что-то подобное на Си? Если...

Перевести строчные буквы строки в прописные
Подскажите, как исправить ошибку в коде: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; void main(){ ...

Русские строчные буквы преобразовать в прописные
Есть ли функция, что будет преобразовывать прописные русские буквы в строчные или наоборот? До этого использовал cctype, но с русскими...

Заменить все прописные буквы на строчные
Подредактируйте код, нужно поменять все прописные буквы на строчные буквы. Только вот программа не запускается. Код: #include...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru