Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++] Треугольник из букв 
:(
    Опции темы
custard
Дата 20.3.2007, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.10.2006

Репутация: нет
Всего: нет



привет
помогите написать такой код


код будет брать буквы  до знака * (только буквы)
и строить триугольник ,если буква большая то превряшая его в маленький,если не хватает букв до полного триугольника заполняет его нулями

Sample Run 1:
AQ+^&jklOmgBfdsW!]13dghZy*dfgN=
a
qj
klo
mgbf
dswdg
hzy000

Sample Run 2:

sTyk*rU789^%cVjNMG)(&/d

s
ty
k000

Sample Run 3:

hJ&Kr^vB/(qklbVDaZx*
h
jk
rvb
qklb
vdazx

Smple Run 4:

hJ&Kr^vB/(qklbVDa*4ut

h
jk
rvb
qklb
vda00

PM MAIL   Вверх
Lamak
Дата 20.3.2007, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 8.5.2005
Где: Украина,Одесса

Репутация: 6
Всего: 7



Код

#include <stdio.h>
#include <conio.h>
#include <string.h>
int main()
{
        char *s="AQ+jklOghmgBfdsW13dghZy*dfgN";
        int i=2,j=0,k=1;
        int l=strlen(s);
        for(j=0;j<l;j++)
        {
                if(s[j]=='*')
                        break;
                if(j==k)
                {
                        printf("\n");
                        k=k+i;
                        i++;
                }
                printf("%c",s[j]);

        }
        for(i=j;i!=k;i++)
                printf("0");
        getch();
        return 0;
}


Добавлено @ 13:02 
ой забыл букву к нижнему регистру привести
--------------------
Роботы - это интересно и увлекательно! 
PM MAIL   Вверх
Lamak
Дата 20.3.2007, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 8.5.2005
Где: Украина,Одесса

Репутация: 6
Всего: 7



Код

#include <ctype.h>
printf("%c",tolower(s[j]));


Добавлено @ 13:27 
чё-то я сегодня сонный ,забыл про 
Цитата

брать буквы
Код

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
int main(int argc, char* argv[])
{
        char *s="hJ&Kr^vB/(qklbVDaZx*";
        int p=0,i=2,j=0,k=1;
        int l=strlen(s);
        for(p=0;p<l;p++)
        {       if(s[p]=='*')
                        break;
                if(j==k)
                {
                        printf("\n");
                        k=k+i;
                        i++;
                }
                if (isalpha(s[p]))
                {
                        j++;
                        printf("%c",tolower(s[p]));
                }
        }
        for(i=j;i!=k;i++)
                printf("0");
        getch();
        return 0;
}

--------------------
Роботы - это интересно и увлекательно! 
PM MAIL   Вверх
custard
Дата 20.3.2007, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.10.2006

Репутация: нет
Всего: нет



привет
ты только за конкретный стринг написал,надо без определенных стрингов,для всех инпутов

PM MAIL   Вверх
Lamak
Дата 20.3.2007, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 8.5.2005
Где: Украина,Одесса

Репутация: 6
Всего: 7



Код

int main(int argc, char* argv[])
{
        char s[100];
        int p=0,i=2,j=0,k=1;
        int l;
        printf("vvedite stroku:");
        gets(s);
        l=strlen(s);
        for(p=0;p<l;p++)
        {       if(s[p]=='*')
                        break;
                if(j==k)
                {
                        printf("\n");
                        k=k+i;
                        i++;
                }
                if (isalpha(s[p]))
                {
                        j++;
                        printf("%c",tolower(s[p]));
                }
        }
        for(i=j;i!=k;i++)
                printf("0");
        getch();
        return 0;
}

--------------------
Роботы - это интересно и увлекательно! 
PM MAIL   Вверх
Dov
Дата 21.3.2007, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 50
Всего: 88



custard, уже, ведь, сделали. Что ещё?


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
custard
Дата 21.3.2007, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.10.2006

Репутация: нет
Всего: нет



не сделали нужно на С,без стрингов,функцй.с loop-ami

PM MAIL   Вверх
mr.Anderson
Дата 21.3.2007, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 16
Всего: 128



Где сделали? В первом посте этой темы, я так понимаю, только результат написан. Что должно быть.

Больше прикалывает вот это:
Цитата

как можно сделать (на C) треугольник из стринга букв

Цитата

без юзания стрингов

Умора. smile Сделать из стринга, но не использовать стринг. Входное данное все равно как String будет, как же без него-то? Если через char, то вот так, например (не проверял):
Код

char Str[ 255 ]; //input string
cout << "Enter string: ", cin >> Str;

for( int current; current<255; current++ )
{
 for( int i=0; i < current; i++ )
  cout << Str[ i ];

 cout << "\n";
}



--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
custard
Дата 21.3.2007, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 21.10.2006

Репутация: нет
Всего: нет



ну я имел ввиду строку,да с карактерс
и не на с++ а с ,с++ незнаю

PM MAIL   Вверх
mr.Anderson
Дата 21.3.2007, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 16
Всего: 128



Да елки.
Код

char Str[ 255 ]; //input string
printf( "Enter string: " );
scanf( "%s", &Str );

for( int current; current<255; current++ )
{
 for( int i=0; i < current; i++ )
  printf( "%c", Str[ i ] );
 
 printf( "\n" );
}

Вроде, так.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
apook
Дата 21.3.2007, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: 10
Всего: 23



Код

#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>


void main()
{
int a, i, j, c, q;

char al[ ]="abcdefghijklmnopqrstuvwxyz";

char S[ 4 ][ 50 ]={
    "AQ+^&jklOmgBfdsW!]13dghZy*dfgN=",
    "sTyk*rU789^%cVjNMG)(&/d",
    "hJ&Kr^vB/(qklbVDaZx*",
    "hJ&Kr^vB/(qklbVDa*4ut"
    };

int ny[ 4 ]={ 6, 18, 1, 4 };


for( a=0; a<4; ++a )
{
    for( i=0, c=0; i<strlen(S[ a ])-ny[ a ]; ++i, ++c )
    { 
            for( j=0; j<=c; ++j, ++i )
            {
                if( i<(strlen(S[ a ])-ny[ a ]) )
                {
                    if( strchr(al, toupper(S[ a ][ i ])) || strchr(al, tolower(S[ a ][ i ])) )
                         printf( "%c", tolower(S[ a ][ i ]) );
                    else
                    {
                        --j;
                        continue;
                        }
                    }
                else
                    printf( "%c", '0' );
                if( j==c ) --i;
                }
           printf( "\n" );
           }
    printf( "\n" );
    }

getch();
return;
}




--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
mr.Anderson
Дата 21.3.2007, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 16
Всего: 128



apook, зачем так сложно?


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
zkv
Дата 21.3.2007, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 21
Всего: 92



Код

char Str[ 255 ]; //input string
printf("Enter string: ");
scanf("%s", Str);
int rem = strlen( Str );
int last = 0;
for( int current=0; (current<255) && rem; current++ )
{
 last += current;
 for( int i=current; i <= last; i++ )
   if( rem )
   {
      --rem;
      printf("%c", Str[ i ]);
   }
   else 
      printf("%c", '0');
 printf("\n");
}


Это сообщение отредактировал(а) zkv - 21.3.2007, 15:58
PM MAIL   Вверх
agl
Дата 21.3.2007, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 25.6.2006

Репутация: 3
Всего: 3



Возможно решение извращенное, но работает.

Код

#include <stdio.h>
#include <string.h>
#include <ctype.h>


void main(void)
{
    char str[ 255 ]; //input string
   printf("Enter string: ");
   gets(str);
    int n = strlen(str);
    int t,current, prev_amount = 0, cur_ampunt = 0;

    for(current = 0, t = 0; t < n; current++)
    {
     for( int i=0; i <= current; i++ )
     {
         if( t < n && isalpha(str[t]))
            putchar(str[t]);
         else if(t < n )
         {
             while(t < n && !isalpha(str[t])) t++;
             if(t < n)
                  putchar(str[t]);
             else
                 putchar('0');
         }
         else
             putchar('0');
         t++;
         
     }

     putchar('\n');
    }

}


Это сообщение отредактировал(а) agl - 21.3.2007, 16:11
PM   Вверх
apook
Дата 21.3.2007, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: 10
Всего: 23



Цитата

apook, зачем так сложно?

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

Это сообщение отредактировал(а) apook - 21.3.2007, 16:44


--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0579 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.