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

Написать программу, обеспечивающую ввод строк и обмен местами слов максимальной и минимальной длины в каждой - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ разделить числа, и записать их как массив http://www.cyberforum.ru/cpp-beginners/thread124185.html
Добрый вечер! Подскажите пожалуйста, как можно, имея, например, файл с последовательностью чисел 2 7 4 3, разделить числа, и записать их как массив.
C++ Создание проекта Проблема вот в чем: запускаю вижуал студио, создаю новый проект, на экране: // 000000000.cpp : main project file. #include "stdafx.h" using namespace System; int main(array<System::String... http://www.cyberforum.ru/cpp-beginners/thread124183.html
C++ система компьютерного обучения
Уважаемые гуру! Написал прогу САБЖ. Юзер вводит ответ на пример, который задает программа. Если ответ true - выводит рандомно реплики по типу "Хорошо" или "Молодец" и так далее и задает следующий...
из паскаля в С++ C++
Здравствуйте! Помогите пожалуйста перевести код программы в паскале на С++: Program Example; uses crt; Type mas=array of Integer; var a,m: mas; n,s,k,mini: Integer; Procedure Vvod(var a:...
C++ Рисования графика http://www.cyberforum.ru/cpp-beginners/thread124143.html
Есть функция y=x, надо построить график функции интервал например
C++ Формулы Гаусса и Ньютона-Котеса Всем тем кто читает мою тему!!! Привет!!! Я очень надеюсь на вашу помощь,и искренне верю что кто-нибудь мне поможет!!! Народ выручайте,я совсем не понимаю С++ и Визуал Студио,а мне вот через 1... подробнее

Показать сообщение отдельно
krolex
9 / 9 / 1
Регистрация: 27.01.2010
Сообщений: 63

Написать программу, обеспечивающую ввод строк и обмен местами слов максимальной и минимальной длины в каждой - C++

01.05.2010, 20:50. Просмотров 578. Ответов 0
Метки (Все метки)

не могу понять что в проге не так,на данный момент "по идеи" прога должна разбить строку на много много слов)))но пока не работает даже эта малая часть всего.....помогите плиз понять что нетак....заранее спасибо))

вот общее задание:

Дана последовательность строк.
Каждая строка состоит из слов, разделенных пробелами.
Написать программу, обеспечивающую ввод строк и их корректировку.
Корректировка заключается в обмене местами слов максимальной и минимальной длины в каждой строке.
Если сре-ди слов строки есть несколько таких слов, то в обмене участвуют только первые обнаруженные слова.
Вывести на печать исходную и скорректированную последовательности строк.


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
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <conio.h> 
#include <stdlib.h>
 
 
 
struct st // Объявление структуры st
{
    char *str;//stroki
}
struct st1 // Объявление структуры st1
{
    char *str1,*token1;//str1-kopija stroki,tokeni
};
struct ptr // Объявление структуры ptr
{
    char *ptr1,*maxtoken,*mintoken,*token;
};
st mas[5];
st1 mas1[5];
ptr mas2[50];
int i;
char seps[] = " ";
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    for (int i=0;i<5;i++)
    {
        mas[i].str=new char[100];
        mas1[i].str1=new char[100];
 
        printf ("vvedite stroku: %d=",i);//zapros na vvod stroki
        gets(mas[i].str);//s4itivanie stroki
        mas1[i].str1=mas[i].str;//sozdanie kopii dla raboti s nej
        printf ("stroka : %d = %s\n",i,mas1[i].str1);//vivod kopii dla kontrolja
        puts("--------------------------kopija---------------------");
    }
 
    for (int i=0;i<5;i++)
    {
        mas1[i].token1=new char[100];
        mas1[i].token1 = strtok( mas1[i].str1, seps );//запоминание первого слова в переменную token
 
        int s=0;
        mas2[s].ptr1=strchr(mas1[i].str1,' ');//указатель на первый пробел после первого слова
        mas2[s].ptr1++;
        while (mas2[s].ptr1 != NULL) //poka ukazatel ne na konec stroki
        {
            mas2[s].token=strtok( mas2[s].ptr1, seps );//запоминание 2-50 слова в токен
 
            mas2[s+1].ptr1=strchr(mas2[s].ptr1,' ');//ustanovka ukazatela na next slovo -probel
            mas2[s+1].ptr1++;//ustanovka na next slovo
            s++;
        }
    }
    getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru