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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mcbeat
0 / 0 / 0
Регистрация: 07.02.2011
Сообщений: 30
#1

Задания на строки - C++

07.06.2011, 04:36. Просмотров 889. Ответов 10
Метки нет (Все метки)

Помогите сделать 4 задачки на строки! Я в языке С по строкам вообще не понимаю((
Есть все коды на Паскале)

1. Дан непустой ряд. Вывести коды его символов через пробел.

2. Дан ряд символов, которые изображают целое позитивное число. Если оно представляет собой запись целого числа со значением последней цифры равной 0, то вывести «Данное число делится на 10 нацело», в противном случае-«Данное число не делится на 10 нацело».
На Паскале выглядит так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program n5_2;
var s:string;
    ch:longint;
    i:integer;
begin
writeln('Введите строку');
readln(s);
ch:=0;
for i:=1 to length(s) do
 
ch:=ch+ord(s[i]);
writeln('Число = ',ch);
if ch mod 10 =0 then writeln('Делитса на 10')
 else writeln('Не делитса на 10');
readln;
end.
3. Дан ряд, который содержит хотя бы один символ пробела. Вывести подряд, расположенный между первым и вторым пробелом исходного ряд. Если ряд содержит только один пробел, то вывести пустой ряд.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program n5_3;
var s,s2:string;
    l,r:integer;
begin
writeln('Введите строку');
readln(s);
l:=0;
r:=0;
l:=pos(' ',s);
delete(s,1,l);
r:=pos(' ',s);
s2:=copy(s,1,r);
if r=0 then writeln('_______________')
else
writeln(s2);
readln;
end
.

4. Дана строка-предложение на русском языке. Подсчитать количество гласных букв, которые содержатся в строке.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
program n5_4;
var s:string;
    i,k:integer;
 
begin
writeln('Введите строку');
readln(s);
k:=0;
for i:=1 to length(s) do
if (s[i] in ['а','е','о','у','ы','э','я','и','ю','ё','А','Е','О','У','Ы','Э','Я','И','Ю','Ё']) then k:=k+1;
writeln('В предлжении  ', k,'  гласных символов  ');
readln;
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2011, 04:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задания на строки (C++):

Задания на строки и указатели - C++
Помогите с заданиями пожалуйста.. 1.4.1. Длина строки В файле str.c напишите функцию вычисления длины строки (str_lenght). Саму...

Строки. Проверить правильность задания круглых скобок - C++
Проверить, правильно ли в заданном тексте расставлены круглые скобки (т. е. находится ли справа от каждой открывающей скобки...

Задания на строки - Pascal
Помогите пожалуйста. Дан массив из 10 строк. Отпечатать строку с максимальной длинной, если в ней нет символа «Z» и отпечатать строку...

2 задания на тему строки - Pascal
Здраствуйте. Помогите решить задачи: 1 Проверить, какая из 2ух букв 'а' или 'е' встречается чаще. 2 Задан текст, распечатать номера...

Два задания на строки и массивы - Delphi
Здравствуйте. Очень нужна ваша помощь с этими двумя задачами на Delphi. Я думаю для здешних программистов не составит труда решить такого...

4 задания: строки, функции, модули, текстовые файлы - Pascal
1. Зашифровать введенную с клавиатуры строку, заменой символов на символы с кодом меньшим на две единицы. Провести дешифровку. 2....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
07.06.2011, 08:09 #2
1)
C
1
2
3
4
5
6
7
8
#include <stdio.h>
int main(){
    char s[100];
    gets(s);
    for (int i=0; s[i]; i++)
        printf("%d ",s[i]);
    return 0;
}
Добавлено через 9 минут
2)не знаю, что такое позитивное число, поэтому тупо перевел с паскаля.
C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main(){
    char s[256];
    printf("Enter string: ");
    gets(s);
    printf((s[strlen(s)-1]==48)?"Delitca na 10":"Ne delitsa na 10");
    return 0;
}
Добавлено через 10 минут
3)
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 s[256];
    printf("Enter string: ");
    gets(s);
    int first=0,second=0;
    for (int i=0; s[i]; i++){
        if (s[i]==' '&&!first) first=i+1;else
        if (s[i]==' '&&!second) second=i+1;
    }
    if (!second) printf("__________________________");else
    for (int i=first; i < second; i++)
        printf("%c",s[i]);
    return 0;
}
Насчет 4го-если бы было не на русском, то без проблем=\
2
Nursik77
07.06.2011, 08:11
  #3

Не по теме:

Вот кому с утра не лень

1
mcbeat
0 / 0 / 0
Регистрация: 07.02.2011
Сообщений: 30
07.06.2011, 10:27  [ТС] #4
А почему проги не работают?? Или у меня что то не так??
Ввожу строку и они сразу же вырубается(((
0
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
07.06.2011, 10:29 #5
прежде чем чем-то пользоваться, читай инструкции, помогает
http://www.cyberforum.ru/cpp-beginners/thread10807.html
0
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
07.06.2011, 10:30 #6
Цитата Сообщение от mcbeat Посмотреть сообщение
Ввожу строку и они сразу же вырубается(((
Поставьте в самом конце программы
C++
1
2
system("pause");
return 0;
1
mcbeat
0 / 0 / 0
Регистрация: 07.02.2011
Сообщений: 30
07.06.2011, 10:38  [ТС] #7
Все я нашел ответ))

Всё правильно, а чтобы оно не закрывалось нужно добавить функцию getch(), которая ожидает нажатия любой клавиши и ещё в начале кода добавить строку #include <conio.h> , которая подключает указанный заголовочный файл, в котором фунция getch() описана.
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
07.06.2011, 10:41 #8
Подключите <stdlib.h> или <windows.h>
Но т.к. у меня там нету перехода на новую строку, то получится некрасиво.
Лучше написать в начале
C
1
#include <conio.h>
И в конце программы, перед return 0
C
1
getch();
0
mcbeat
0 / 0 / 0
Регистрация: 07.02.2011
Сообщений: 30
07.06.2011, 10:46  [ТС] #9
Цитата Сообщение от diagon Посмотреть сообщение
1)
C
1
2
3
4
5
6
7
8
#include <stdio.h>
int main(){
    char s[100];
    gets(s);
    for (int i=0; s[i]; i++)
        printf("%d ",s[i]);
    return 0;
}
Добавлено через 9 минут
2)не знаю, что такое позитивное число, поэтому тупо перевел с паскаля.
C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main(){
    char s[256];
    printf("Enter string: ");
    gets(s);
    printf((s[strlen(s)-1]==48)?"Delitca na 10":"Ne delitsa na 10");
    return 0;
}
Добавлено через 10 минут
3)
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 s[256];
    printf("Enter string: ");
    gets(s);
    int first=0,second=0;
    for (int i=0; s[i]; i++){
        if (s[i]==' '&&!first) first=i+1;else
        if (s[i]==' '&&!second) second=i+1;
    }
    if (!second) printf("__________________________");else
    for (int i=first; i < second; i++)
        printf("%c",s[i]);
    return 0;
}
Насчет 4го-если бы было не на русском, то без проблем=\
Если можно скинь 4 задачу, хоть и с английским алфавитом))
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
07.06.2011, 10:54 #10
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main(){
    char vowels[]="eyuioajEYUIOAJ";//вроде ничего не забыл
    char str[100];
    unsigned count=0;
    gets(str);
    for (int i=0; str[i]; i++)
        if (strchr(vowels,str[i])) count++;
    printf("count - %d",count);
    getch();
    return 0;
}
1
mcbeat
0 / 0 / 0
Регистрация: 07.02.2011
Сообщений: 30
07.06.2011, 10:57  [ТС] #11
Огромное Спасибо Всем!!! Особенно diagon!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2011, 10:57
Привет! Вот еще темы с ответами:

Регулярные выражения: шаблон для задания арифметической строки - C#
Добрый день. Мне нужно задать шаблон для проверки правильности пользовательского ввода арифметической строки вида a+b/c * d -k. То есть...

4 задания-текст внутри. строки, вывод на экран, графика. . компилятор tasm - Assembler
Здравствуйте. Буду рад любой помощи. Понимаю что сейчас сессия и соответственно извиняюсь за беспокойство. Сделал сам контрольную -...

После задания 8.04 консоль закрывается, хотя впереди еще задания и readln-ы - Delphi
Добрый день, делаю несколько простых заданий связанных со строками, проблема в том что после задания 8.04 консоль закрывается хотя впереди...

лаба. 3 задания, написать для каждого задания отдельную прогу. - Pascal
5*. Известно, что с геометрической точки зрения углы, различающиеся в 2pi n раз, где n целое число, не различимы. Написать программу,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.06.2011, 10:57
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru