0 / 0 / 0
Регистрация: 27.09.2011
Сообщений: 9
1

Задача на одномерный массив

18.01.2012, 12:31. Показов 3139. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан одномерный массив из 100 элементов, состоящий из случайных вещественных чисел в диапазоне от -55 до 16. Вывести в порядке невозрастания (убывания) те отрицательные элементы этого массива, индекс которых — нечетное число.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.01.2012, 12:31
Ответы с готовыми решениями:

Задача на одномерный массив.
Всем привет в данный момент нахожусь на экзамене по си++, так как много проболел не могу решить...

Задача на одномерный массив)
В одномерном масиве, состоящем из n вещественных элементов, вычислить: 1) номер минимального...

Задача на одномерный массив
Дан одномерный массив из 100 элементов, состоящий из случайных вещественных чисел в диапазоне от 4...

ЗАДАЧА НА ОДНОМЕРНЫЙ МАССИВ
Дано N действительных случайных чисел в диапазоне от 2 до 10. Определить, какое из них на числовой...

22
9 / 9 / 3
Регистрация: 02.01.2012
Сообщений: 169
18.01.2012, 12:54 2
Ну как то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
main()
{
float a[99], b[99];
//тут будет ввод массива
int j=0;
for (int i=0; i<=99; i++)
{
    if ((a[i]<0)&&(i%2!=0))
    {
         b[j]=a[i];
         j++;
    }
}
for (int i=0; i<j; i++)
{
   cout << b[i] << endl;
}
}
1
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.01.2012, 13:07 3
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
#include <cstdlib>
#include <iterator>
#include <functional>
 
int main()
{
    std::srand(std::time(nullptr));
    const int size = 10;
    std::vector<int> v(size);
    std::generate(v.begin(), v.end(), [] { return std::rand() % 71 - 55; });
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    std::vector<int> result;
    for(int i = 0; i < size; i += 2)
        if(v.at(i) < 0)
            result.push_back(v.at(i));
    std::sort(result.begin(), result.end(), std::greater<int>());
    std::copy(result.begin(), result.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    return 0;
}
http://liveworkspace.org/code/... c816b5d8e1
1
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
18.01.2012, 13:24 4
soon, какой у тебя компилятор? А то у меня на 14-ю строчку ругается
0
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
18.01.2012, 13:30 5
kravam, там все нормально, стандарт 11
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
18.01.2012, 13:47 6
Я не говорю, что ненормально. Фактически мой ворос заключался в том, какой компилятор отвечает стандарту. На всякий случай, у меня

C++
1
2
3
4
5
6
7
8
9
E:\Dev-Cpp_nomingw\bin>g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=e:/dev-cpp_nomingw/bin/../libexec/gcc/mingw32/4.6.1/lto-wrapper.exe
Target: mingw32
Configured with: ../gcc-4.6.1/configure --enable-languages=c,c++,fortran,objc,obj-c++ --disable-sjlj-exceptions --with-dwarf2 --enable-shared --enable-libgomp -
-disable-win32-registry --enable-libstdcxx-debug --enable-version-specific-runtime-libs --build=mingw32 --prefix=/mingw
Thread model: win32
gcc version 4.6.1 (GCC)
От 18 ноября прошлого года
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
18.01.2012, 13:54 7
Цитата Сообщение от kravam Посмотреть сообщение
какой компилятор отвечает стандарту.
Например, этот частично поддерживает C++11 mingw-4.6.2+boost-1.48.0
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
18.01.2012, 14:04 8
Я сколько не тыкал в подпись niXmanу, попадаю на страницу с кракозябрами
0
9 / 9 / 3
Регистрация: 02.01.2012
Сообщений: 169
18.01.2012, 14:11 9
Блин, я забыл упорядочить.
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
18.01.2012, 15:08 10
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define N 100
 
//-------------
 
double rand_float(double low, double high)
{
   return (high - low) * (double)rand() / RAND_MAX + low;
}
 
//-------------
int cmp(const void* p1, const void* p2)
{
    double a = *(const double*)p1;
    double b = *(const double*)p2;
 
    if(a < b) return -1;
    if(a > b) return 1;
    return 0;
}
 
 
int main()
{
    int i, j;
    double a[N];
    double b[N];
 
    srand(time(NULL));
    for(i = 0; i < N; ++i)
    {
        a[i] = rand_float(-55.0, 16.0);
        printf("[%d]: %f\n", i, a[i]);
    }
 
    j = 0;
    for(i = 1; i < N; i+= 2)
        if(a[i] < 0.0) b[j++] = a[i];
 
    printf("-----------------------\n");
    qsort(b, j, sizeof(double), cmp);
    for(i = 0; i < j; ++i)
        printf("[%d]: %f\n", i, b[i]);
 
    return 0;
}
1
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.01.2012, 15:42 11
kravam,
g++
Bash
1
2
3
4
5
soon@bt:~$ g++ --version
g++ (GCC) 4.7.0 20111129 (experimental)
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Не по теме:

Судя по таблице, поддержка лямбда началась с 4.5.

1
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
18.01.2012, 16:44 12
А командную строку можно?
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.01.2012, 16:50 13
Цитата Сообщение от kravam Посмотреть сообщение
А командную строку можно?
Имели в виду
команду
Bash
1
g++ -std=c++0x main.cpp -o main
?
1
0 / 0 / 0
Регистрация: 27.09.2011
Сообщений: 9
19.01.2012, 23:39  [ТС] 14
Не могу понять что именно не так...
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
#include "stdafx.h"
#include"iostream"
#include"stdlib.h"
#include"ctime"
#include"stdio.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    int a=-55, b=16, i, j=0, q=100;
float arr[100], mass[100]; 
//объявление массива
for ( int i=0; i<q; i++)
{
    arr[i]= rand()/float(RAND_MAX)*(a-b)+b;
}
for(i=0;i<q;i++)
    printf(" %2.2f", arr[i]);
//выделение нечетных и отрицательных
int j=0;
for (int i=0; i<=99; i++)
{
    if ((arr[i]<0)&&(i%2!=0))
    {
         mass[j]=arr[i];
         j++;
    }
}
for (int i=0; i<j; i++)
{
   printf("%2.2f", mass[j]);
}
 
getchar();
    return 0;
}
Объявленный массив впорядке, а как начинаю выводить "mass[j]" то он выдает первое значение -107374176.00 а остальные 1.00 В чем проблема?
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
20.01.2012, 00:10 15
Там повторное объявление j... Но в целом вроде работает.
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
20.01.2012, 00:11 16
Вот и мне непонятно, у тебя в 10-ой и в 20-ой строке два раза объявляется j, как такое компилится?
0
0 / 0 / 0
Регистрация: 27.09.2011
Сообщений: 9
20.01.2012, 00:26  [ТС] 17
Переприсваивание исправленно. Однако практически все тоже самое осталось... Скриншот прилогается...
Миниатюры
Задача на одномерный массив  
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
20.01.2012, 00:37 18
Ввыводе напиши
C++
1
  printf("%2.2f", mass[i]);
и всё будет круто
... А знаешь что в этой истории меня больше всего удивило? Числа же рандомные, но и у тебя и у меня сгенерились одинаковые числа!
1
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
20.01.2012, 00:39 19
В последнем цикле индекс не тот при выводе.

Добавлено через 30 секунд
kravam, а ты видишь там srand()?)
Хотя, надо сказать, у меня другие, системы разные.
1
0 / 0 / 0
Регистрация: 27.09.2011
Сообщений: 9
20.01.2012, 00:48  [ТС] 20
NoMasters, kravam, спасибо вам. Понял свою ошибку. И не могли бы вы еще с сортировкой помочь, пожалуйста.
0
20.01.2012, 00:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.01.2012, 00:48
Помогаю со студенческими работами здесь

Задача на одномерный массив
Здаствуйте. Помогите решить задачу. Надо сформировать одномерный массив целых чисел, используя...

задача по C++( одномерный массив)
В одномерном массиве, состоящем из п вещественных элементов, вычислить: • сумму отрицательных...

задача на с++( одномерный массив)
помогите пожалуйста разобраться с задачей нужно сформировать массив с по следующему принципу:сi =...

Задача на одномерный массив
Дана задача: &quot;Лесенка&quot; Вова стоит перед лесенкой из N ступеней. На каждой из ступеней написаны...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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