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

Сортировка (исправить код) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Максимальный и минимальный элемент одномерного массива http://www.cyberforum.ru/cpp-beginners/thread705836.html
Доброго времени суток всем. условие задачи таково: Нужно найти максимальный и минимальный элемент одномерного массива с динамическим выделением памяти. задача простенькая,понимаю,но нужен текст срочно.
C++ Копирование файлов в папку по условию Дано два каталога(dir1, dir2), содержащих файлы *.txt и не содержащие подкаталогов. Наполнить третий каталог (RESULT): -для каждого файла, который есть и в первом и во втором каталогах, но отличается построчно, нужно сформировать следующий файл разницы t.txt: для тех строк которые отличаются и только для них заносить следующее: 1= «строка из файла 1 каталога», 2= «строка файл из 2 каталога». http://www.cyberforum.ru/cpp-beginners/thread705824.html
C++ Программа с матрицами (Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент)
Дано целочисленная прямоугольная матрица. Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент. Характеристикой строки целочисленной матрицы назовем сумму ее отрицательное парных элементов. Переставляя строки заданной матрицы, расположить их в соответствии со убыванию характеристик. Пожалуйста помогите!! Спасибо...
C++ Классы
Объясните новичку , зачем нужны классы. Вкратце , я знаю что тема расширная , но хотя бы объяснить для чего нужны они?
C++ На одну строку перенести первых k символов, а на вторую остальные http://www.cyberforum.ru/cpp-beginners/thread705804.html
у меня задана строка (char). затем вводится число k, как мне на одну строку перенести первых k символов, а на вторую остальные(т.е. разбить строку на две)?
C++ Обработка строк. Поиск и вывод символов между фигурными скобками. Помогите решить задачу. В с++ абсолютно ничего не понимаю. Написать функцию, обрабатывающую текст (в соответствии с вариантов) в консольном режиме. Текст читать из файла, результат записать в другой файл. Найти во входной строке самую внутреннюю пару скобок {...} и переписать в выходную строку содержащиеся между ними символы. Во входной строке фрагмент удаляется. подробнее

Показать сообщение отдельно
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
22.11.2012, 19:31     Сортировка (исправить код)
Нужно упорядочить записи по алфавиту, но у меня только меняет местами name! Помогите исправить код!
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
#include <iostream>
#include <string.h>
#include <time.h>
using namespace std;
 
const int n=3;
 
struct worker{
       char name[20];
       char pos[20];
       int year;
       char month[10];
       };
       
void inp(worker []);
void out(worker []);
void sort(worker []);
void yer(worker []);
 
int main(){
    srand(time(0));
    worker tabl[n];
    inp(tabl);
    out(tabl);
    sort(tabl);
   // yer(tabl);
    system("pause");
    return 0;
}
 
void inp(worker tabl[n]){
     char* nam[6]={"Stepan","Petro","Andriy","Ivan","Seroga","Vasa"};
     char* po[5]={"Engineer","Foreman","Programmer","Homeless","Electrician"};
     int ye[5]={1995,1993,1987,1978,1999};
     char* mon[7]={"April","February","November","December","June","July","January"};
     for(int i=0;i<n;i++){
             strcpy(tabl[i].name,nam[rand()%6]);
             strcpy(tabl[i].pos,po[rand()%5]);
             tabl[i].year=ye[rand()%5];
             strcpy(tabl[i].month,mon[rand()%7]);
             }
             }
             
void out(worker tabl[n]){
     for(int i=0;i<n;i++){
     cout<<tabl[i].name<<endl;
     cout<<tabl[i].pos<<endl;
     cout<<tabl[i].year<<endl;
     cout<<tabl[i].month<<endl;
     cout<<endl;
     }
     }
/*void yer(worker tabl[n]){
     int a;
     cin>>a;
     for ( int i = 0; i < n; i++){
         if(tabl[i].year>a) 
         cout<<tabl[i].name<<endl;
         }
     }*/
void sort(worker tabl[n]){
     char* temp=new char;
     for ( int i = 0; i < n; i++)   
        for ( int j = 0; j < n; j++) 
        if(strcmp(tabl[i].name, tabl[j].name) < 0) 
        { 
            strcpy(temp, tabl[i].name); 
            strcpy(tabl[i].name, tabl[j].name); 
            strcpy(tabl[j].name, temp); 
        } 
     }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru