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

Циклы - C++

Восстановить пароль Регистрация
 
Sithis
10 / 1 / 0
Регистрация: 27.11.2011
Сообщений: 98
14.08.2012, 11:57     Циклы #1
В последовательности символов выдать на печать TRUE, если значение последнего символа равно F
Помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2012, 11:57     Циклы
Посмотрите здесь:

C++ Циклы
циклы for, while C++
C++ циклы
C++ циклы
Циклы WHILE, DO-WHILE. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
14.08.2012, 12:46     Циклы #2
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <string>
 
int main()
{
    std::string str = "asdasdF";
    if (str[str.size() - 1] == 'F')
        std::cout << "TRUE";
}
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
14.08.2012, 12:52     Циклы #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int isLastSymbol(char c, const char *string) {
  if (*string == '\0') return 0;
  while (*(string + 1) != '\0') ++string;
  return *string == c;
}
 
int main(int argc, char **argv) {
  printf("%s\n", (isLastSymbol('F', "ASDF") ? "TRUE" : "FALSE"));
  printf("%s\n", (isLastSymbol('F', "ASDFA") ? "TRUE" : "FALSE"));
  printf("%s\n", (isLastSymbol('F', "F") ? "TRUE" : "FALSE"));
  printf("%s\n", (isLastSymbol('F', "") ? "TRUE" : "FALSE"));
  return 0;
}
-=ЮрА=-
Заблокирован
Автор FAQ
14.08.2012, 12:53     Циклы #4
Цитата Сообщение от Sithis Посмотреть сообщение
В последовательности символов выдать на печать TRUE, если значение последнего символа равно F
Помогите пожалуйста
- ещё варианті кроме варианта Пaтрик,
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <string.h>
 
int main()
{
    char text[1024] = {0};//ГЃГіГґГґГҐГ° ГІГҐГЄГ±ГІГ*
    printf("Enter text (less than 1024) : ");
    //Ââîäèì ГІГҐГЄГ±ГІ ìîæГ*Г® Г± ïðîáåëГ*ìè (Г¬Г*ГЄГ± 1023 ñèìâîëГ*)
    scanf("%1023[^\n]",text);
    char lastSymbol = text[strlen(text) - 1];
    if(lastSymbol == 'F')
        printf("TRUE\n");
    else
        printf("FALSE\n");
    return 0;
}
Миниатюры
Циклы  
-=ЮрА=-
Заблокирован
Автор FAQ
14.08.2012, 12:57     Циклы #5
Вариант вообще без библиотечных функций работы со строками
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int main()
{
    int i = 0;//Ñ÷¸ò÷èê
    char text[1024] = {0};//ГЃГіГґГґГҐГ° ГІГҐГЄГ±ГІГ*
    printf("Enter text (less than 1024) : ");
    //Ââîäèì ГІГҐГЄГ±ГІ ìîæГ*Г® Г± ïðîáåëГ*ìè (Г¬Г*ГЄГ± 1023 ñèìâîëГ*)
    scanf("%1023[^\n]",text);
    char lastSymbol = 0;
    for(i = 0; text[i] != '\0'; i = i + 1)
        lastSymbol = text[i];
    if(lastSymbol == 'F')
        printf("TRUE\n");
    else
        printf("FALSE\n");
    return 0;
}
Миниатюры
Циклы  
-=ЮрА=-
Заблокирован
Автор FAQ
14.08.2012, 12:58     Циклы #6
И на последок вариант с реверсом строки
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <string.h>
 
int main()
{
    int i = 0;//Ñ÷¸ò÷èê
    char text[1024] = {0};//ГЃГіГґГґГҐГ° ГІГҐГЄГ±ГІГ*
    printf("Enter text (less than 1024) : ");
    //Ââîäèì ГІГҐГЄГ±ГІ ìîæГ*Г® Г± ïðîáåëГ*ìè (Г¬Г*ГЄГ± 1023 ñèìâîëГ*)
    scanf("%1023[^\n]",text);
    char lastSymbol = *strrev(text);
    if(lastSymbol == 'F')
        printf("TRUE\n");
    else
        printf("FALSE\n");
    return 0;
}
Миниатюры
Циклы  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2012, 13:06     Циклы
Еще ссылки по теме:

с++ циклы C++
Циклы в С++ C++
C++ Циклы в с++

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
14.08.2012, 13:06     Циклы #7
Плюсы : (мои варианты 1,2 думаю тривиально преобразовать в С++), пожтому предлагаю почти полную аналогию 3-его варианта
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <string>
#include <iostream>
using namespace std;
 
int main()
{
    string text;//ГЃГіГґГґГҐГ° ГІГҐГЄГ±ГІГ*
    cout<<"Enter text  : ";
    //Ââîäèì ГІГҐГЄГ±ГІ ìîæГ*Г® Г± ïðîáåëГ*ìè 
    //getline(cin, text);//Убрать комментарий перед getline если нужен ручной ввод
    text = "Some text with end char F";
    char lastSymbol = *(text.end() - 1);
    if(lastSymbol == 'F')
        printf("TRUE\n");
    else
        printf("FALSE\n");
    return 0;
}
http://liveworkspace.org/code/f3b872...575a61d60c85a3
Yandex
Объявления
14.08.2012, 13:06     Циклы
Ответ Создать тему
Опции темы

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