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

Скопировать второе слово каждой строки в начало следующей строки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ В двумерной матрице отсортировать столбцы методом вставок http://www.cyberforum.ru/cpp-beginners/thread109813.html
помогите с задачками:) задача №1 В двумерной матрице отсортировать столбцы методом вставок задача №2 Из массива символов размером 15 вывести на экран элементы с нечетным номером задача №3 В массиве символов размером 15х15 заполнить четные строки буквами А, а нечетные – буквами В. заранее благодарю:rose:
C++ создаю список для структуры Дана структура,которая вводится с клавы!вот,ввели информацию,нужно создать список,я создал,и чтобы в этот список записывалась информация о поездах,которые мы вводим с клавы,далее нужно добавь в список информацию о новом поезде и вывести на экран отсортированный список ,осуществить поиск в нашем списке,далее удалить любой поезд,помогите пожалуйста)))Заранее спасибо // First_program.cpp : Defines... http://www.cyberforum.ru/cpp-beginners/thread109804.html
C++ /*Введём текст с заканчивающийся точкой , вывести все слова у которых первая и последняя буквы одинаковы.*/h
Программа работает а результата нет, или я туплю... /*Введём текст с заканчивающийся точкой , вывести все слова у которых первая и последняя буквы одинаковы.*/ #include <iostream.h> #include <string.h> char main() { char a,k,x,y; int t,j,i=0; cin.get(a,200,'.'); while (a!='.')//пока не равно точке
сортировка слиянием C++
Ребят,помогите пожалуйста,нужно отсортировать массив,который вводим с клавиатуры методом слияния,вот я написал ,но сортировка не работает,в чем проблема?допишите и исправьте если можно #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; void merge(int arr,int first,int mid,int last); const int MAX_SIZE = 10;// количество элементов временного массива;
C++ Динамические массивы... http://www.cyberforum.ru/cpp-beginners/thread109794.html
Помогите пожалуйста.... Дано матрицу размерностью N * М с произвольных многочисленных элементов. Найти элементы, которые по модулю меньше некоторого значения, введенного с клавиатуры.
C++ [c++] Перегрузка операторов Для заданных A = (A – a1, A, A + a2) и B = (B – b1, B, B + b2) Найти сумму A + B = (A + B – a1 – b1, A + B, A + B + a2 + b2); #include <conio.h> #include <iostream.h> struct FazzyNumber { double x; double x1,x2; подробнее

Показать сообщение отдельно
DjaFaR74
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 47
17.12.2011, 15:01     Скопировать второе слово каждой строки в начало следующей строки
программу переписал, компилится, но не выдает то что нужно, помогите исправить ошибку
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
98
99
100
101
102
#include <stdlib.h>
#include <stdio.h>
#include <Windows.h>
//максимальная длина строки
#define MAX_STR 1000
//имя второго файла, который будет использоваться
#define FILE2_NAME "output.txt"
//функция, которая определяет является ли символ разделяющим
int split(char c){
        return ((c==' ')||(c==(char)9)||(c=='\0')||(c=='\n'));
};
int fflush(FILE *stream);
int main(int arc, char * argv[])
{
        char * st=argv[1];
        //открываем 2 файла. один для чтения, другой для записи
        FILE *f1;
        FILE *f2=fopen(FILE2_NAME,"w");
        //объявляем строки и целочисленные переменные
        char str[MAX_STR],res[MAX_STR],word[MAX_STR],last[MAX_STR];
        int uk,word_len,res_len,i,end,sch,last_len,z;
        //цикл будет продолжаться до тех пор пока не будет достигнут конец
        //файла - feof(f1)
        /*if (argc==1){
            printf("there is no file name");
            return 1;
        }*/
        f1=fopen(st,"r");
        if (f1==NULL){
            printf("File does not exist");
            return 2;
        }
        last[0]='\0';
        last_len=0;
        while (!feof(f1)){
                //в строку str считывает 1строку из файла, в строку res
                //будем помещать результат для строки str, а в строку word
                //будем помещать текущее слово. res_len, word_len - длины строк
                str[0]='\0';
                //fflush(f1);
                fgets(str,MAX_STR,f1);
                res_len=last_len;
                for (z=0;z<last_len;z++)
                    res[z]=last[z];
                uk=0;
                word_len=0;
                end=0;
                sch=0;
                while (!end){
                        //если символ не разделяющий, то добавляем его в текущее слово
                        if (!split(str[uk])){
                                word[word_len]=str[uk];
                                word_len++;
                        }
                        else{
                                res[res_len++]=str[uk];
                                if (word_len!=0){
                                    if (sch==1){
                                        for (z=0;z<word_len;z++)
                                            last[z]=word[z];
                                        last_len=word_len;
                                        last[last_len]='\0';
                                    } else
                                    for (z=0;z<word_len;z++)
                                        res[res_len++]=word[z];
                                    sch++;
                                    word_len=0;
                                }
                                //когда дошли до конца строки end=1, и цикл закончится
                                if (str[uk]=='\0')
                                        end=1;
                        }
                        //указатель на символ из строки str увеличиваем на 1
                        uk++;
                }
                //выводим строку res в файл она уже будет содержать переход
                //на следующую строку, если это не последная строка
                fputs(res,f2);
        }
        fprintf(f2,"%s ",last);
        //закрываем файлы
        fclose(f1);
        fclose(f2);
        //и снова открываем, только первый файл уже для записи, а второй для
        //считывания
        f1=fopen(st,"w");
        f2=fopen(FILE2_NAME,"r");
        //пока не дойдем до конца файла считываем по 1 строке из 2 файла и
        //записываем в 1 файл
        while (!feof(f2)){
                str[0]='\0';
                fgets(str,MAX_STR,f2);
                fprintf(f1,"%s",str);
        }
        //закрываем файлы
        fclose(f1);
        fclose(f2);
        //удаляем 2 файл
        remove(FILE2_NAME);
        //сообщаем об успешно выполненой задаче
        return 0;
}
 
Текущее время: 19:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru