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

Цикл в цикле (for()). - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перезагрузка операторов Помогите http://www.cyberforum.ru/cpp-beginners/thread52720.html
Добрый день...у меня к вам просьба Помогите пожалуйста написать полностью программу с условием: 5. Объявите новый тип данных время. Перезагрузите следующие операторы: • + с параметром; • ++; • * с параметром; • > 2-х объектов Заранее Спасибо
C++ помогите найти ошибку доброе время суток Столкнулся с такой проблемой, надо сделать прогу которая: Вводим текст, и из этого текста удаляем слова которые состают из не чётных количество символов ну например Он это 2 символа Она это 3 итд.. вроде сделал, но у меня он не видит первое слово, и не важно оно из 2 или из 5 симболов #include<stdio.h> http://www.cyberforum.ru/cpp-beginners/thread52692.html
C++ Написать стек на базе массива, и на базе связного списка
Всем привет. Помогите пожалуйста ! Надо написать стек на базе массива, и на базе связного списка. И еще очередь на базе связного списка. Скиньте пожалуйста информацию как это сделать и реализовать!!! Заранее спасибо.
Сохранение в текстовый файл C++
Есть вот такой примерный код проги, которая должна считать значение ф-ции с определённым шагом(не меньше 10 значений), и считать её в конкретной задаваемой точке. Вопрос: как сделать чтобы эта прога(именно сама прога, а не какой-нибудь батник её запускающий) значения, выводимые в цикле, сохраняла в текстовый файл? Буду признателен:) #include<iostream.h> #include<math.h> #include<conio.h>...
C++ Задача с символом строк http://www.cyberforum.ru/cpp-beginners/thread52634.html
Помогите решить: сколько в символьной строке слов, имеющие в середине слова средний символ(символ который находится в середине слова)
C++ с чего начать я сейчас обучаюсь в одном заведении (чтото вроди кружка) C#-у. нам там пока дают базу но ее я вроди как и знаю. учитель видит что я ничего нового не узнаю предложил мне перейти на С, но там уже занимаются люди которые знают. так как С я вобще не знаю стоит ли мне его начинать или продолжать учить С# и ждать новых знаний тем временем повторяя старые подробнее

Показать сообщение отдельно
rrrFer
Заблокирован
26.09.2009, 20:02     Цикл в цикле (for()).
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
#include <iostream>
#include <vector>
using std::vector;
using std::cout;
using std::cin;
using std::endl;
int main(){
    int *a,max,n,i,m,min,h,j,tmp,l,tmp2;
    vector<int> *v;
    n=40; m=5;
    
    a=new int[n];
    v=new vector<int>[m];
    for(i=0;i<n;i++)
        a[i]=n-i;
 
    for(i=0;i<n;i++)
        cout<<a[i]<<endl;
    cout<<"------------------------------\n";
 
    min=max=a[0];
    for(i=1;i<n;i++){
        if(a[i]>max)
            max=a[i];
        if(a[i]<min)
            min=a[i];
    }
 
    h=(max-min)/m+1;
    for(i=0;i<n;i++)
        v[(-a[i]+max)/h].push_back(a[i]);
 
    for(i=0;i<m;i++)
        for(j=0,tmp=v[i].size();j<tmp;j++){
            for(l=j+1,tmp2=j;l<tmp;l++)
                if(v[i][l]<v[i][tmp2])
                    tmp2=l;
            l=v[i][j];
            v[i][j]=v[i][tmp2];
            v[i][tmp2]=l;
        }
    for(i=m-1,l=0;i>=0;i--)
        for(j=0,tmp=v[i].size();j<tmp;j++,l++)
            a[l]=v[i][j];
 
    for(i=0;i<n;i++)
        cout<<a[i]<<endl;
 
    system("pause");
    return 0;
}
по возрастанию

Добавлено через 6 минут
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
#include <iostream>
#include <vector>
using std::vector;
using std::cout;
using std::cin;
using std::endl;
int main(){
    int *a,max,n,i,m,min,h,j,tmp,l,tmp2;
    vector<int> *v;
    n=40; m=5;
    
    a=new int[n];
    v=new vector<int>[m];
    for(i=0;i<n;i++)
        a[i]=i;
 
    for(i=0;i<n;i++)
        cout<<a[i]<<endl;
    cout<<"------------------------------\n";
 
    min=max=a[0];
    for(i=1;i<n;i++){
        if(a[i]>max)
            max=a[i];
        if(a[i]<min)
            min=a[i];
    }
 
    h=(max-min)/m+1;
    for(i=0;i<n;i++)
        v[(-a[i]+max)/h].push_back(a[i]);
 
    for(i=0;i<m;i++)
        for(j=0,tmp=v[i].size();j<tmp;j++){
            for(l=j+1,tmp2=j;l<tmp;l++)
                if(v[i][l]>v[i][tmp2])
                    tmp2=l;
            l=v[i][j];
            v[i][j]=v[i][tmp2];
            v[i][tmp2]=l;
        }
    for(i=0,l=0;i<m;i++)
        for(j=0,tmp=v[i].size();j<tmp;j++,l++)
            a[l]=v[i][j];
 
    for(i=0;i<n;i++)
        cout<<a[i]<<endl;
 
    system("pause");
    return 0;
}
по убыванию.
Получается что каждый список упорядочен или по убыванию или по возрастанию, но всегда элементы из первого списка больше элементов второго, тоесть чтобы изменить порядок не достаточно изменить знак с < на >.

Добавлено через 1 минуту
в задании сказано использовать список, я использовал std::vector, просто заменить массивом не получится, т.к. надо знать сколько элементов уже есть в каждом массиве. Если STL использовать нельзя - пиши в личку
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru