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

Дана последовательность, содержащая 30 слов. Вывести эти слова в алфавитном порядке - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
Irina_89
0 / 0 / 0
Регистрация: 20.01.2011
Сообщений: 5
20.01.2011, 14:08     Дана последовательность, содержащая 30 слов. Вывести эти слова в алфавитном порядке #1
Дана последовательность, содержащая 30 слов. Вывести эти слова в алфавитном порядке. Реализовать, используя указатели.
На языке С и блок-схема
Помогите пожалуйста срочно последний шанс
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2011, 14:08     Дана последовательность, содержащая 30 слов. Вывести эти слова в алфавитном порядке
Посмотрите здесь:

[C++] Дана строка. расположить в ней слова в алфавитном порядке. C++
Дана последовательность слов.Напечатать все слова, отличные от слова «по» C++
Дана строка, содержащая два слова, разделённых пробелом, вывести неповторяющиеся буквы слов. C++
C++ Вывести слова в алфавитном порядке
Дана строка, содержащая разделенные пробелами слова, вывести все слова-палиндромы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rusl_v
 Аватар для Rusl_v
13 / 12 / 1
Регистрация: 22.12.2010
Сообщений: 67
20.01.2011, 14:17     Дана последовательность, содержащая 30 слов. Вывести эти слова в алфавитном порядке #2
Могу только на Си++ постараться написать!
Интересует?
baduzzzer
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 15
20.01.2011, 15:22     Дана последовательность, содержащая 30 слов. Вывести эти слова в алфавитном порядке #3
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
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <clocale>
#include <string.h>
 
void main()
{
    setlocale(0,"Rus");
    char **a,**b;
    int j,d,i,n=30;
    printf("Последовательно введите %d слов\n",n);
    a=(char**)malloc(n*sizeof(char*));
    b=(char**)malloc(n*sizeof(char*));
    for(i=0;i<n;i++)
    {
        b[i]=(char*)malloc(256*sizeof(char));
        a[i]=(char*)malloc(256*sizeof(char));
        gets(a[i]);
    }
    for(i=0;i<n;i++)
    {
        d=0;
        for(j=0;j<n;j++)
        {
            if (strcmp(a[i],a[j])>0)
            {
                d++;
            }
            if(j<i && strcmp(a[i],a[j])==0)
                d++;
 
        }
        b[d]=a[i];
 
    }
    for(i=0;i<n;i++)
    {
        printf("%s\n",b[i]);
    }
 
 
    getch();
}
Добавлено через 4 минуты
Ирина, не подскажете, вы где учитесь?
G1m3rr
20.01.2011, 15:49
  #4

Не по теме:

Цитата Сообщение от baduzzzer Посмотреть сообщение
Ирина, не подскажете, вы где учитесь?
Баш, про препода на экзамене
слушай, я ща какому-то чуваку в аське точно такую же задачу сделал

easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
20.01.2011, 16:28     Дана последовательность, содержащая 30 слов. Вывести эти слова в алфавитном порядке #5
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int asc_cmp(const void * a, const void * b){
    return strcmp(*(char**)a, *(char**)b);
}
 
#define MAX_WORDS 30
#define FINISH_SIGN "."
 
int main(void){
    char * words[MAX_WORDS], buf[BUFSIZ];
    size_t i, cnt;
    
    printf("Enter some words one by row (maximum 30). Single '%s' - finish input.\n", FINISH_SIGN);
    for ( cnt = 0; cnt < MAX_WORDS; ++cnt ){
        printf("> ");
        if ( scanf("%s", buf) != 1 ){
            fprintf(stderr, "Wrong input!\n");
            exit(1);
        }
        if ( ! strcmp(buf, FINISH_SIGN) )
            break;
        if ( ( words[cnt] = strdup(buf) ) == NULL ){
            fprintf(stderr, "Memory error!\n");
            exit(1);
        }
    }
    
    if ( ! cnt ){
        fprintf(stderr, "No words reached!\n");
        exit(1);
    }
    
    qsort(words, cnt, sizeof(char*), asc_cmp);
    
    printf("\nAlphabetic ascendant sorted:\n");
    for ( i = 0; i < cnt; ++i )
        printf("%s\n", words[i]);
        
    for ( i = 0; i < cnt; ++i )
        free(words[i]);
    exit(0);
}
Irina_89
0 / 0 / 0
Регистрация: 20.01.2011
Сообщений: 5
20.01.2011, 17:25  [ТС]     Дана последовательность, содержащая 30 слов. Вывести эти слова в алфавитном порядке #6
Цитата Сообщение от Rusl_v Посмотреть сообщение
Могу только на Си++ постараться написать!
Интересует?
Нет спасибо надо на С

Добавлено через 1 минуту
Спасибо

Добавлено через 6 минут
а блок-схему можете???
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2014, 20:43     Дана последовательность, содержащая 30 слов. Вывести эти слова в алфавитном порядке
Еще ссылки по теме:

C++ Дана строка, Вывести на экран эти слова в порядке алфавита
C++ Вывести слова в алфавитном порядке

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

Или воспользуйтесь поиском по форуму:
Вова_Киев
0 / 0 / 0
Регистрация: 18.12.2014
Сообщений: 58
23.12.2014, 20:43     Дана последовательность, содержащая 30 слов. Вывести эти слова в алфавитном порядке #7
Rusl_v, мне такое надо мож написать пожалуйста?
Yandex
Объявления
23.12.2014, 20:43     Дана последовательность, содержащая 30 слов. Вывести эти слова в алфавитном порядке
Ответ Создать тему
Опции темы

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