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

массив - C++

Восстановить пароль Регистрация
 
ilona4
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 12
01.11.2010, 18:43     массив #1
преобразовать массив таким образом, чтобы сначала располагались все отрицательные элементы,а потом - все положительные( элементы,равные 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
#include <iostream.h>
#include <studio.h>
#include <algorithm>
#include <iterator>
#include <vector>
#include <algorithm>
#include <functional>
 
void main ()
{
    int i,n,k;
    FILE *fp;
    fp=fopen("file.txt","w");
    cout <<"vvod kol-vo elementov";
    cin>>n;
    float*mas=new float[n];
    for (i=0;i<n;i++)
    {
    cout<<"vvod masiva";
    cin>>mas[i];
    }
    for (i=0;i<n;i++)
    {
    int k=0;
    for (int i=0;i<n;i++)
    if (a[i]<0)
    {
    int temp=a[k];
    a[k]=a[i];
    a[i]=temp;
    k++;
    }}
выдает ошибку..подскажите где ошибка?((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2010, 18:43     массив
Посмотрите здесь:

C++ с клавиатуры ввести массив,во второй массив записать нечетные элементы из первого
Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. C++
C++ Массив: сформировать массив C[12] так, чтобы элементы располагались следующим образом: A(1) B(1) A(2) B(2)
Массив: Переписать элементы одномерного массива A, попадающие в интервал [2, 6], в массив B. C++
Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
01.11.2010, 18:45     массив #2
Цитата Сообщение от ilona4 Посмотреть сообщение
#include <studio.h>
что это?
ilona4
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 12
01.11.2010, 18:56  [ТС]     массив #3
Цитата Сообщение от easybudda Посмотреть сообщение
что это?
подсказали..удалила строку студио..программа не запускаеться все равно=(((
crowdr
Сообщений: n/a
01.11.2010, 18:57     массив #4
#include <stdio.h>
ilona4
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 12
01.11.2010, 18:59  [ТС]     массив #5
Цитата Сообщение от crowdr Посмотреть сообщение
#include <stdio.h>
не запускается..кажеться в тексте ошибки((
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
01.11.2010, 19:00     массив #6
Цитата Сообщение от ilona4 Посмотреть сообщение
подсказали..удалила строку студио..программа не запускаеться все равно=(
попробуйте вместо неё вставить
C++
1
#include <cstdio>
Цитата Сообщение от ilona4 Посмотреть сообщение
#include <iostream.h>
заменить на
C++
1
#include <iostream>
и после
Цитата Сообщение от ilona4 Посмотреть сообщение
#include <functional>
добавить строку
C++
1
using namespace std;
И кстати - покажите, какие ошибки выдаёт. Там и в самом тексте программы наверняка не всё ровно, если уже с заголовками такие заморочки...

Цитата Сообщение от ilona4 Посмотреть сообщение
fp=fopen("file.txt","w");
и вот это зачем? дальше нигде в программе не используется...
papochka
 Аватар для papochka
32 / 32 / 2
Регистрация: 14.11.2009
Сообщений: 137
01.11.2010, 19:01     массив #7
да какие именно ошибки-то?
ilona4
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 12
01.11.2010, 19:10  [ТС]     массив #8
Цитата Сообщение от easybudda Посмотреть сообщение
попробуйте вместо неё вставить
C++
1
#include <cstdio>
заменить на
C++
1
#include <iostream>
и после

добавить строку
C++
1
using namespace std;
И кстати - покажите, какие ошибки выдаёт. Там и в самом тексте программы наверняка не всё ровно, если уже с заголовками такие заморочки...


и вот это зачем? дальше нигде в программе не используется...
c:\documents and settings\admin\рабочий стол\123456\4657.cpp(24) : error C2065: 'a' : undeclared identifier
c:\documents and settings\admin\рабочий стол\123456\4657.cpp(24) : error C2109: subscript requires array or pointer type
c:\documents and settings\admin\рабочий стол\123456\4657.cpp(26) : error C2109: subscript requires array or pointer type
c:\documents and settings\admin\рабочий стол\123456\4657.cpp(27) : error C2109: subscript requires array or pointer type
c:\documents and settings\admin\рабочий стол\123456\4657.cpp(27) : error C2109: subscript requires array or pointer type
c:\documents and settings\admin\рабочий стол\123456\4657.cpp(27) : error C2106: '=' : left operand must be l-value
c:\documents and settings\admin\рабочий стол\123456\4657.cpp(28) : error C2109: subscript requires array or pointer type
c:\documents and settings\admin\рабочий стол\123456\4657.cpp(28) : error C2106: '=' : left operand must be l-value
это при cstdio клгда пишешь
а если просто stdio
c:\documents and settings\admin\рабочий стол\123456\4657.cpp(2) : fatal error C1083: Cannot open include file: 'stdio': No such file or directory
Error executing cl.exe.

Добавлено через 1 минуту
и вот это зачем? дальше нигде в программе не используется...[/QUOTE]

это вроде для создания файла проги
KpeHDeJIb
 Аватар для KpeHDeJIb
56 / 56 / 3
Регистрация: 31.10.2010
Сообщений: 103
01.11.2010, 19:15     массив #9
Чот я вообще не понял смысла того кода, но если выкинуть все лишнее и добавить логики относительно поставленной задачи, то будет вот такая вот программа:

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
#include <iostream>
 
using namespace std;
 
inline void swapf(float &a, float &b)
{
    float c = a;
    a = b;
    b = c;
}
 
void main()
{
    int i, j, n;
    float *mas;
 
    cout << "vvod kol-vo elementov" << endl;
    cin >> n;
 
    mas = new float[n];
 
    cout << "vvod masiva" << endl;
    for (i = 0; i < n; ++i)
        cin >> mas[i];
 
    for (i = 0; i < n; ++i)
        for (j = n - 1; j > i; --j)
            if (mas[i] > mas[j])
                swapf(mas[i], mas[j]);
 
    cout << "vivod masiva" << endl;
    for (i = 0; i < n; ++i)
        cout << mas[i];
 
    delete[] mas;
 
    return 0;
}
BTR
 Аватар для BTR
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
01.11.2010, 19:15     массив #10
перед классом поставьте int, а не void
ilona4
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 12
01.11.2010, 19:43  [ТС]     массив #11
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
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <iterator>
#include <vector>
#include <functional>
using namespace std;
 
void main ()
{
    int i,n,k=0;
    FILE *fp;
    fp=fopen("file.txt","w");
    cout <<"vvod kol-vo elementov --> ";
    cin>>n;
    float*mas=new float[n];
    cout<<"vvod masiva"<<endl;
    for (i=0;i<n;i++)
    {   
    cin>>mas[i];
    }
    for (i=0;i<n;i++)
    {
    if (mas[i]<0)
    {
    int temp=mas[k];
    mas[k]=mas[i];
    mas[i]=temp;
    k++;
    }
    }
    for(int q=n-1;q>=0;q--)
    {
    cout<<mas[q]<<';';
    fprintf(fp,"%1.0f;",mas[q]);
    }
    fclose(fp);
}
вооот..сделала..вот так=))

Добавлено через 8 минут
Цитата Сообщение от BTR Посмотреть сообщение
перед классом поставьте int, а не void
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
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <iterator>
#include <vector>
#include <functional>
using namespace std;
 
void main ()
{
    int i,n,k=0;
    FILE *fp;
    fp=fopen("file.txt","w");
    cout <<"vvod kol-vo elementov --> ";
    cin>>n;
    float*mas=new float[n];
    cout<<"vvod masiva"<<endl;
    for (i=0;i<n;i++)
    {   
    cin>>mas[i];
    }
    for (i=0;i<n;i++)
    {
    if (mas[i]<0)
    {
    int temp=mas[k];
    mas[k]=mas[i];
    mas[i]=temp;
    k++;
    }
    }
    for(int q=n-1;q>=0;q--)
    {
    cout<<mas[q]<<';';
    fprintf(fp,"%1.0f;",mas[q]);
    }
    fclose(fp);
}
вот..все работает...помогите блок схему сделать для нее

 Комментарий модератора 
Используйте теги форматирования кода!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2010, 20:14     массив
Еще ссылки по теме:

C++ Массив: Переместить в массив Y все числа, дробная часть которых больше 5.
C++ Дан массив. Записать во второй массив все элементы, не совпадающие с минимальным
Сжать массив, выбросив из него отрицательные элементы - массив становится пустым C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
BTR
 Аватар для BTR
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
01.11.2010, 20:14     массив #12
кстати внутри функции напиши setlocale(LC_ALL,"Russian"); и пиши по русский в cout
Yandex
Объявления
01.11.2010, 20:14     массив
Ответ Создать тему
Опции темы

Текущее время: 04:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru