Парни, помогите, написать(напишите) код программы на С++, я вообще что то дно в тексте(
"Вариант № 3
В заданном предложении указать слово, в котором доля гласных (A,E,I,O,U)
максимальна."
Цитата:
Требования к выполнению задания
При решении задачи следует:
1) обеспечить ввод с клавиатуры исходного текста, строки или последовательности
символов, которые должны присваиваться в качестве значения символьного массива;
2) исключить использование встроенных подпрограмм, предназначенные для работы
со строками, за исключением подпрограммы strlen, которая определяет текущую длину
строки;
Цитата:
4. Пример выполнения задания
Задание
Проверить, имеется ли в заданном тексте баланс открывающих и закрывающих
круглых скобок, т. е. верно ли, что можно установить взаимно однозначное соответствие
открывающих и закрывающих скобок со следующими свойствами:
а) открывающая скобка всегда предшествует соответствующей закрывающей скобке;
б) первый и последний символы текста – пара соответствующих друг другу скобок.
Тесты
Для пустой строки ожидаемый результат – 0.
Для строки " (" ожидаемый ожидаемый результат – 1результат – 0.
Для строки "()" ожидаемый результат – 1
Для строки "(()))(" ожидаемый результат – 0.
Для строки "(()(()))" ожидаемый результат – 1.
Программа
#include "stdafx.h"
#include <iostream>
#include <string.h>
int main()
{
char s[80];
int len,i,k,L;
gets(s);
len=strlen(s);
k=0;
if (s[0]=='(' && s[len-1]==')') {
i=1;
while (i<len-1 && k>=0) {
if (s[i]=='(') k++;
else
if (s[i]==')') k--;
i++;
}
L=i==len-1 && k==0;
}
else
L=0;
printf("%5i",L);
system("pause");
}
________________
Ищу подработку, студент 20lvl, писать в скуп: inkogo3
Код:
"But we are hackers and hackers have black terminals with green font colors!" - John Nunemaker
Последний раз редактировалось 1nK0Gn1T0; 12.04.2013 в 18:32.
0. массив чаров char a[] = {'A','E','I','O',U'}; /*можно еще добавить маленькие буквы */
1. берешь входную строку, юзать std::string, если нельзя юзать этот неймспейс, юзай сишный string.h
2. заводишь счетчик гласных для текущего слова и текущее слово с максимальным кол-вом гласных:
int a_count = -1; std::string best_word = "";
и индекс начала текущего слова int word_s = 0;
3. Бежишь циклом по входной строке, считаешь гласные (проверяешь каждый символ на наличие в массиве a), как только видишь пробел if (s[i] == ' ') смотришь сколько у нас гласных вышло в слове, если больше чем было, тогда в best_word копируешь нужный кусок строки. В любом случае после пробела в word_s кладешь следующий индекс.
4. цикл выполнился в best_word наше слово
Как то так, код писать впадлу
а на питоне, задача решается ровно в одну строку, не шучу
0. массив чаров char a[] = {'A','E','I','O',U'}; /*можно еще добавить маленькие буквы */
1. берешь входную строку, юзать std::string, если нельзя юзать этот неймспейс, юзай сишный string.h
2. заводишь счетчик гласных для текущего слова и текущее слово с максимальным кол-вом гласных:
int a_count = -1; std::string best_word = "";
и индекс начала текущего слова int word_s = 0;
3. Бежишь циклом по входной строке, считаешь гласные (проверяешь каждый символ на наличие в массиве a), как только видишь пробел if (s[i] == ' ') смотришь сколько у нас гласных вышло в слове, если больше чем было, тогда в best_word копируешь нужный кусок строки. В любом случае после пробела в word_s кладешь следующий индекс.
4. цикл выполнился в best_word наше слово
Как то так, код писать впадлу
а на питоне, задача решается ровно в одну строку, не шучу
Ничё не понял.
Но я сейчас настрочил быдлокод от себя для поиска слова с наибольшим колличетсво букв К
Код:
#include "stdafx.h"
#include <iostream>
#include <string.h>
int main()
{
char s[10];
int len,i,k,f,max,l;
gets(s);
len=strlen(s);
k=0;
f=0;
max=0;
l=0;
{
for (i=0; i<(len-1); i++)
if (s[i]='K'){
k=k+1;
if ((s[i]=' ') || (s[i]='/0')){
f=f+1;
if (k>max){
max=k;
l=f;
k=0;
}
}
}
}
printf ("%f ",l);
system("pause");
}
И он неработает(((
________________
Ищу подработку, студент 20lvl, писать в скуп: inkogo3
Код:
"But we are hackers and hackers have black terminals with green font colors!" - John Nunemaker
Последний раз редактировалось 1nK0Gn1T0; 12.04.2013 в 19:12.
Но я сейчас настрочил быдлокод от себя для поиска слова с наибольшим колличетсво букв К
Код:
#include "stdafx.h"
#include <iostream>
#include <string.h>
int main()
{
char s[10];
int len,i,k,f,max,l;
gets(s);
len=strlen(s);
k=0;
f=0;
max=0;
l=0;
{
for (i=0; i<(len-1); i++)
if (s[i]='K'){
k=k+1;
if ((s[i]=' ') || (s[i]='/0')){
f=f+1;
if (k>max){
max=k;
l=f;
k=0;
}
}
}
}
printf ("%f ",l);
system("pause");
}
Это дикий треш - даже на паскале так не пишут
s[i]='K' - это как?
мб s[i]=='K' ?
с остальными условиями тож самое
k=0;
f=0;
max=0;
l=0;-
так делать плохо
k=k+1;
а так совсем плохо
++k;
Это дикий треш - даже на паскале так не пишут
s[i]='K' - это как?
мб s[i]=='K' ?
с остальными условиями тож самое
k=0;
f=0;
max=0;
l=0;-
так делать плохо
k=k+1;
а так совсем плохо
++k;
Не, не, не, оно компилиться, но неправильно работает а потом еще и критическую даёт, тут в логике не то
Добавлено через 21 час 18 минут
Ок. Но что тут не так?
#include "stdafx.h"
#include <iostream>
#include <string.h>
int main()
{
char s[10];
int len,i,k,f,max,l;
gets(s);
len=strlen(s);
k=0;
{
for (i=0; i<(len-1); i++)
if (s[i]=='K'){
k=k+1;
if ((s[i]==' ') || (s[i]=='/0')){
f=f+1;
if (k>max){
max=k;
l=f;
k=0;
}
}
}
}
printf ("%f ",l);
system("pause");
}
________________
Ищу подработку, студент 20lvl, писать в скуп: inkogo3
Код:
"But we are hackers and hackers have black terminals with green font colors!" - John Nunemaker
Последний раз редактировалось 1nK0Gn1T0; 13.04.2013 в 16:39.
Причина: Добавлено сообщение