Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ неверный ввод https://www.cyberforum.ru/ cpp-beginners/ thread372835.html
cout<<"\tViberite variant vvoda:\n\n"; cout<<"\t1.Vvod vruchnuy\n"; cout<<"\t2.Iz faila"; int menu=0; cout<<"\n\nVash variant ? (1 or 2): "; cin>>menu; /*while(menu!=1 || menu !=2) Почему данный цикл не работает?(конешно /**/убираю))) { cout<<"Error.Vvedite vash variant: "; cin>>menu;
Подскажите что обозначают выделенные строки. C++
Что обозначают 10,11 и 12 строки??? Заране спасибо. Я знаю что printf -вывод параметров на дисплей, а \n -управляющая последовательность. Но в итоге что обозначают 10,11 и 12 строки я понять не могу. Листининг программы.#include<iostream.h> #include<stdio.h> #include<math.h> int main() { double x1,x2,dx,a,b,c,f; printf("Enter x1,x2,dx,a,b,c \n"); scanf("%lf %lf %lf %lf %lf...
C++ Програмно создать txt файл.. Народ как создать txt файл програмно на c++.? Заранее благодарен) https://www.cyberforum.ru/ cpp-beginners/ thread372806.html C++ If else помогите разобраться Доброго времени суток всем. Не так давно начали программировать в C++ MS Visual Studio 2010? и возникло у меня затруднение в работе с if Суть проблеы в том, что второе условие (2 вариант) не работает даже тогда, когда, очевидно, параметры для его исполнения верны. Подскажите, как быть? (условия см. в прикреплённых файлах) #include "stdafx.h" #include "iostream" #include "math.h"... https://www.cyberforum.ru/ cpp-beginners/ thread372802.html
Составить программу C++
.Составить программу, которая будет выводить таблицу квадратов для последовательности целых чисел.(C++)
C++ Необходимо найти максимальный элемент во второй части матрицы. Задачи 1) Дан двухмерный массив A размерностью n n (Матрица). Если провести диагонали, то матрицу можно разделить на 4 частей: Необходимо найти максимальный элемент во второй части матрицы. картинка в файле ворд https://www.cyberforum.ru/ cpp-beginners/ thread372792.html
C++ Вычисление функции по формуле https://www.cyberforum.ru/ cpp-beginners/ thread372783.html
Пробовал написать код, но не получается: #include <iostream> #include <cmath> using namespace std; void main () //Руссификация {setlocale(LC_ALL,"Russian"); double x,u,b,a; for((a=0,a<=1,a=a+0.25);;(b=0.5,b<=0.8,b=b+0.1));
C++ Странное поведение транслятора
В следуюшем примере код компилируется нормально, но объект класса b не содается (пробывал на Visual studio 10 и на Borland builder 5), что бы это могло значить? struct a { public: a(){} }; class b
C++ Вопрос по C++ Сколько байт памяти займут займут три структурных переменные типа time, если структура вмещает 3 поля типа int https://www.cyberforum.ru/ cpp-beginners/ thread372766.html C++ Создать класс Создать класс, который ассоциируется с целыми дробями и поддерживает операции сложения, вычитания, выдачу знаменателю и числителя. Нужно применить перегрузки операций https://www.cyberforum.ru/ cpp-beginners/ thread372764.html
Написать встроенную функцыю C++
Написать встроенную функцию, которая вычисляет логарифм из значения типа float по заданной основе два.
C++ Задачка для мозга https://www.cyberforum.ru/ cpp-beginners/ thread372747.html
Помогите решить задачку: Рассеянный кассир, оплачивая чек мистеру X, перепутал доллары и центы и отсчитал клиенту доллары вместо центов и центы вместо долларов. Купив газету за пять центов, X обнаружил, что денег у него вдвое больше, чем он должен был получить по чеку. На какую сумму был выписан чек? Нашел ее решение в устном виде, известно что используется диофантово ур-ие. Но как сделать...
0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 8
02.11.2011, 09:43  [ТС] 0

Сортировка строк - C++ - Ответ 2127387

02.11.2011, 09:43. Показов 4139. Ответов 12
Метки (Все метки)

Ответ

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int _tmain(int argc, _TCHAR* argv[])
{
  setlocale( LC_ALL,"Russian" );
 
  char *str = new char [1024];
 
  //Открывает файл для чтения
 
  ifstream b_file;
 
  b_file.open("D:\\text1.txt");
 
  b_file>> str;
 
  printf("В файле находится строка %s \n", str );
 
  cin.get(); //Ожидание нажатия клавиши
 
  return 0;
В файле находится "Hello world !" ,но почему то в str записывается только "Hello"!

И ещё: как в файле перейти на вторую строку и сохранить всю строку в новой переменной?

Добавлено через 13 часов 25 минут
В общем что я насобирал:
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
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
void filter(const char* str, char** destlist);
void sort(char** strlist, int strcnt);
 
int main()
{
    char   str[80];
    char** strlist;
    int    delimcnt = 0;
 
    cin.getline(str, 80);
    
    for(int i = 0; str[i] != '\0'; i++)
        if(str[i] == ',' || str[i] == '.')
            delimcnt++;
 
    if(delimcnt == 0) {
        cout << "Wrong input string\n";
        return 1;
    }
 
    strlist = new char*[delimcnt];
    for(int i = 0; i < delimcnt; i++)
        strlist[i] = new char[20];
 
    filter(str, strlist);
    sort(strlist, delimcnt);
 
    for(int i = 0; i < delimcnt; i++)
        cout << strlist[i] << endl;
    getchar();
    getchar();
    return 0;
}
 
void filter(const char* str, char** destlist)
{
    for(int i = 0, j = 0, k = 0; str[i] != '\0'; i++) {
        if(str[i] == ',' || str[i] == '.') {
            // Если j не равно нулю, то прибавить единицу, дабы не скопировать запятую
            strncpy
                (destlist[k], str + j + (j != 0), i - j - (j != 0));
            destlist[k][i-j] = '\0';
            k++;
            j = i;
        }
    }
}
 
void sort(char** strlist, int strcnt)
{
    for(int i = 0; i < strcnt - 1; i++)
        for(int j = i + 1; j < strcnt; j++)
            if(strcmp(strlist[i], strlist[j]) > 0) {
                char* tmp = strlist[i];
                strlist[i] = strlist[j];
                strlist[j] = tmp;
            }
}
Но её надо немного доработать!

2)
Чтение из файла:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void main( void ) 
{
FILE *file;
char* file_name = "text1.txt";
char load_string[50] = "none";
 
 
file = fopen_s( file_name, "r" );
if( file != 0 )
{
fgets( load_string, 50 , file ); 
}
printf("%s \n" , load_string);
getchar();
getchar();
Но в load_string записывается только первая строка файла!

Как мне объеденить в одно целое эти две программы?

Добавлено через 25 минут
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
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <cstring>
#include <clocale>
 
using namespace std;
 
 
void filter(const char* str, char** destlist);
void sort(char** strlist, int strcnt);
 
void main( void ) 
{
setlocale(LC_ALL,"Russian");
setlocale(LC_ALL,"rus");
FILE *file;
char* file_name = "text1.txt";
char str[100] = "none";
char** strlist;
int    delimcnt = 0;
 
 
file = fopen( file_name, "r" );
if( file != 0 )
{
fgets( str, 50 , file ); 
}
printf("%s \n" , str);
 
 
for(int i = 0; str[i] != '\0'; i++)
                if(str[i] == ',' || str[i] == '.')
                        delimcnt++;
 
        if(delimcnt == 0) {
                cout << "Wrong input string \n";
 
        }
 
        strlist = new char*[delimcnt];
        for(int i = 0; i < delimcnt; i++)
                strlist[i] = new char[20];
 
        filter(str, strlist);
        sort(strlist, delimcnt);
 
        for(int i = 0; i < delimcnt; i++)
                cout << strlist[i] << endl;
        getchar();
        getchar();
 
}
 
void filter(const char* str, char** destlist)
{
        for(int i = 0, j = 0, k = 0; str[i] != '\0'; i++) {
                if(str[i] == ',' || str[i] == '.') {
                        // Если j не равно нулю, то прибавить единицу, дабы не скопировать запятую
                        strncpy
                                (destlist[k], str + j + (j != 0), i - j - (j != 0));
                        destlist[k][i-j] = '\0';
                        k++;
                        j = i;
                }
        }
}
 
void sort(char** strlist, int strcnt)
{
        for(int i = 0; i < strcnt - 1; i++)
                for(int j = i + 1; j < strcnt; j++)
                        if(strcmp(strlist[i], strlist[j]) > 0) {
                                char* tmp = strlist[i];
                                strlist[i] = strlist[j];
                                strlist[j] = tmp;
                        }
}
Вот что получилось! Но есть пару недочётов:
1)в строку записываются с файла только первая строка
2) Не понял пока как пропустить первые 3-и буквы, на подобии "ЗАО",""OAO" и т.п.
3) При выводе отсортированных слов в конце их дописывается "Н"

Вернуться к обсуждению:
Сортировка строк C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2011, 09:43
Готовые ответы и решения:

Сортировка строк матрицы C++ (перестановка строк)
Помогите пожалуйста, в матрице из целых чисел поменять местами первую строку и строку, содержащую...

Сортировка строк
Я уже голову ломаю над задачей где то месяц. У меня все никак не получается сделать сортировку что...

Сортировка строк
В файле хранятся названия блюд. Каждая строка отдельное название. Написать программу, которая...

Сортировка строк
Берем матрицу (для проверки) 1 5 7 4 4 2 8 9 3 На выходе получаем (см. скриншот) 1 5 7 8 9 3...

12
02.11.2011, 09:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2011, 09:43
Помогаю со студенческими работами здесь

Сортировка строк
Упорядочить строки массива по невозрастанию значений последних элементов строк.

Сортировка строк
Есть n (1&lt;= n &lt;=100) строк у которых записано последовательность только чисел (например строка 0876...

Сортировка строк
Сколько букв &quot;У&quot; в введенном слове стоит на четных местах?

сортировка строк
Помогите пожалйста,очень надо... Отсортировать строки текста по возрастанию и убыванию длин слов....

Сортировка строк
Решите пожалуйсиа ету задачу есть матрица. нужно отсортировать ее по сторокам. Т.е. строки...

Сортировка строк
#include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;time.h&gt; #include&lt;vector&gt; #include&lt;string.h&gt;...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru