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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
игорь4937
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 11
#1

В заданной строке найти количество строчных букв - C++

06.12.2010, 19:20. Просмотров 1169. Ответов 11
Метки нет (Все метки)

Помогите написать лабу на Си!!
1.Выровнять слова в строках по ширине самой длинной строки!!
2.В заданной строке найти колличество строчных букв.Полученное число поместить в начало строки.

 Комментарий модератора 
Дублирование тем запрещено правилами форума (п. 3.4).
Не плодите одинаковых тем.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2010, 19:20     В заданной строке найти количество строчных букв
Посмотрите здесь:

Подсчитать общее количество содержащихся в строке строчных латинских и русских букв C++
C++ написать программу, которая подсчитывает количество гласных и согласных букв в заданной символьной строке
C++ Посчитать количество строчных и количество прописных букв
C++ Как написать функцию, которая подсчитывает число прописных и строчных букв в строке?
C++ Количество строчных букв в строке
В заданной строке найти наиболее длинную подстроку чередующихся цифр и букв C++
Найти количество прописных букв в строке C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Форумчанин
Эксперт С++
4469 / 2831 / 224
Регистрация: 12.12.2009
Сообщений: 7,201
Записей в блоге: 1
Завершенные тесты: 1
06.12.2010, 19:25     В заданной строке найти количество строчных букв #2
Цитата Сообщение от игорь4937 Посмотреть сообщение
.Выровнять слова в строках по ширине самой длинной строки!!
только я это задание несколько раз писал, а всего их на форуме штук 10-20 наверное. поищите)
игорь4937
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 11
06.12.2010, 19:27  [ТС]     В заданной строке найти количество строчных букв #3
если не трудно можно еще раз ,я час потратил на поиски и не нашел!
Kastaneda
Форумчанин
Эксперт С++
4469 / 2831 / 224
Регистрация: 12.12.2009
Сообщений: 7,201
Записей в блоге: 1
Завершенные тесты: 1
06.12.2010, 19:41     В заданной строке найти количество строчных букв #4
Цитата Сообщение от игорь4937 Посмотреть сообщение
Выровнять слова в строках по ширине самой длинной строки!!
Возможно имелось ввиду - "самого длинного слова"?

Добавлено через 18 секунд
выровнять пробелами?
игорь4937
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 11
06.12.2010, 19:50  [ТС]     В заданной строке найти количество строчных букв #5
скорее всего пробелами!ну наверно подразумевается что строка состоит из одного слова потому что задание я переписал верно,и там написано по ширине самой длинной строки.
Kastaneda
Форумчанин
Эксперт С++
4469 / 2831 / 224
Регистрация: 12.12.2009
Сообщений: 7,201
Записей в блоге: 1
Завершенные тесты: 1
06.12.2010, 20:37     В заданной строке найти количество строчных букв #6
1)
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
#include <sstream>
#include <string>
#include<iostream>
#include<iomanip>
using namespace std;
void func(string S){
    istringstream is(S);
    stringstream ss;
    string tmp;
    size_t count=0;
    while(is>>tmp){
    if(tmp.size()>count)
        count=tmp.size();
    ss<<tmp<<' ';   
    }
    while(ss>>tmp)
    cout<<setw(count)<<tmp<<' ';
}
int main(){
 string S;
 cout<<"Enter string : ";
 getline(cin,S);
 cout<<"New string : ";
 func(S);
 return 0;
}
игорь4937
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 11
06.12.2010, 20:56  [ТС]     В заданной строке найти количество строчных букв #7
спасибо,но можно именно на СИ просто мы СИ++ еще не проходили и по нему работу не принимают((
Kastaneda
Форумчанин
Эксперт С++
4469 / 2831 / 224
Регистрация: 12.12.2009
Сообщений: 7,201
Записей в блоге: 1
Завершенные тесты: 1
06.12.2010, 20:59     В заданной строке найти количество строчных букв #8
А у вас не спрашивают "что делает эта строка?" ?. Давайте, что у вас есть, мы поправим.
игорь4937
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 11
06.12.2010, 21:22  [ТС]     В заданной строке найти количество строчных букв #9
ничего нету,просто дали листочек и сказали напишите прогу на си.
написано:максимальное число строк 6.Истинное число строк определяется пользователем.Исходные данные вводятся с клавиатуры.На монитор вывести исходные данные и результат.
easybudda
Эксперт С++
9455 / 5468 / 927
Регистрация: 25.07.2009
Сообщений: 10,493
06.12.2010, 22:15     В заданной строке найти количество строчных букв #10
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
typedef struct WRD {
    char * text;
    int len;
    struct WRD * next;
} word_t;
 
word_t * new_word(const char * str){
    word_t * w;
 
    if ( ! str || ! *str )
        return NULL;
    if ( ( w = (word_t*)malloc(sizeof(word_t)) ) == NULL )
        return NULL;
    if ( ( w->text = strdup(str) ) == NULL ){
        free(w);
        return NULL;
    }
    w->len = strlen(w->text);
    w->next = NULL;
 
    return w;
}
 
word_t * max_len(word_t * list){
    word_t * mw = list;
 
    while ( list = list->next )
        if ( mw->len < list->len )
            mw = list;
 
    return mw;
}
 
word_t * clear_word(word_t * w){
    word_t * nw;
 
    if ( ! w )
        return NULL;
    nw = w->next;
    free(w->text);
    free(w);
 
    return nw;
}
 
#define DELIM " \t\n"
 
int main(void){
    char buf[BUFSIZ], * p;
    word_t * first, * last, * current;
    int i;
 
    printf("String: ");
    if ( ! fgets(buf, BUFSIZ, stdin) ){
        fprintf(stderr, "Wrong input!\n");
        exit(1);
    }
 
    first = last = NULL;
    for ( p = strtok(buf, DELIM); p; p = strtok(NULL, DELIM) ){
        if ( ( current = new_word(p) ) == NULL ){
            fprintf(stderr, "Error while filling list!\n");
            if ( first ){
                while ( first = clear_word(first) )
                    ;
            }
            exit(1);
        }
        if ( ! first )
            first = current;
        else
            last->next = current;
        last = current;
    }
 
    if ( ! first ){
        fprintf(stderr, "List is empty!\n");
        exit(1);
    }
 
    last = max_len(first);
    for ( current = first; current; current = current->next ){
        printf("\"%s", current->text);
        for ( i = 0; i < last->len - current->len; ++i )
            printf(" ");
        printf("\"\n");
    }
 
    while ( first = clear_word(first) )
        ;
 
    exit(0);
}
Добавлено через 5 минут
не, это не то, это слова по самому длинному выравнивает
xAtom
914 / 739 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
09.12.2010, 10:56     В заданной строке найти количество строчных букв #11
Как я понял наверное так, для понятного я по проще написал, смотри...


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
74
75
76
77
78
79
80
#include <stdio.h>
 
// функция по нахождению максимума стрoки
int  str_max(const char*  s) {
    int tp = 0;
    int p  = 0;
    do {
        if(*s == '\n' || *s == '\0'  ) {
            if(p > tp) 
                tp = p;
            p &= 0;
        }           
        p++;
    } while( *s++ != '\0' );
    return  tp;
}
 
 
// функция выравнивания строк и присваивает по указанному индексу длинну строки
void    set_length(char* s_out, const char*  str, int _index) {
 
    int      _max = ::str_max( str ) ;
    int       pos   = 0;
    char*  iter    = s_out;
    int       inx_  = 0;
    do {
    
        if( *str == '\n'  ||  *str == '\0' ) {
            if( _max > pos ) {
                int stp = 0;
                if( _index == inx_ ) {
 
                    char _cnv[16];
                    sprintf(_cnv, "%d", pos);
                    const char* n = _cnv;
                    while( *n != '\0' ) 
                        *iter ++ = *n++;
                    stp = strlen(_cnv);
 
                }
                int mid = (_max - pos) / 2 + (_max - pos) % 2 - stp;
                int sz   = mid;
                                                   while(sz--)  
                    *iter++ = char(32);
                        str -= pos-1;
                while(pos--)
                    *iter++ = *str++;
            } else {
                str -= pos-1;
                while(pos--)
                   *iter ++ = *str++;
            }
            pos  = 0;
            inx_++;
        }
        pos++;
    } while( *str++ != '\0' );
}
 
 
 
// ** Давлее  испытаем его, это я так понял твою поставленную задачу.  ** //
 
 
 
void  main(){
 
// \n - символ перехода на новую строку в Unix - как раз подойдёт обрабатывать текстовые файлы
// пример только для ANSI
 
const char*  str_align = " H + H = He, SiO2. \n World corporation INTEL - AMD - VIA\n  TASM 2005 - 2007\n4500";
 
char   buff[255];
memset(buff, '\0', sizeof(buff));
 
::set_length(buff,  str_align,  2);
 
 
  getchar();
}
Если нет, то мотри сам...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2010, 18:55     В заданной строке найти количество строчных букв
Еще ссылки по теме:

Подсчитать общее количество строчных латинских и русских букв, содержащихся в строке C++
C++ Вычислить общее количество строчных букв
C++ Определить количество букв "а" в заданной строке
Подсчитать общее количество строчных латинских и русских букв C++
C++ Строка: Вывести общее количество цифр и букв в заданной пользователем строке

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

Или воспользуйтесь поиском по форуму:
игорь4937
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 11
12.12.2010, 18:55  [ТС]     В заданной строке найти количество строчных букв #12
Выровнять слова в строках по длине самой длинной строки Максимально количество строк-6,максимальное количество символов в строках-80.истинное количество вводит пользователь.
я начал писать и то что написал точно правильно а закончить не могу..помогите плиз!!просьба писать только на СИ,использовать только строки,без динамических массивов
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
#define M 80
#define N 6
#include<ctype.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
int main()
{
char st[N][M];
int i, n , maxl , j , l , imax , k , word ;
clrscr();
printf("input kolichestvo strok  ");
scanf("%d%*c",&n);
if(n>N) n=N;
for ( i=0; i<n ; i++) gets(st[i]);
 maxl=strlen(st[0]);
 imax=0;
for( i=1; i<n ; i++)
if( strlen(st[i])>maxl) {maxl=strlen(st[i]); imax=i; }
for(i=0 ; i<n ; i++ )
 {
 word=0;
 if(i!=imax)
     {
     l=maxl-strlen(st[i]);
     for( j=0; j< strlen(st[i]) ; j++)
     if ( st[i][j]!=' ')
        {
        word++;
        for( k=j; st[i][k]!=' ' && st[i][k]!='\0' ; k++) ;
        j=k;
        }
      }
  }
 
 
 
 
return 0;
}
Yandex
Объявления
12.12.2010, 18:55     В заданной строке найти количество строчных букв
Ответ Создать тему
Опции темы

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