Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/2: Рейтинг темы: голосов - 2, средняя оценка - 4.50
wolf0022
2 / 2 / 2
Регистрация: 17.12.2013
Сообщений: 148
1

Случайный и не случайный вывод чисел в одномерном массиве

11.04.2014, 21:46. Просмотров 466. Ответов 10
Метки нет (Все метки)

Задача: Написать программу по обработке одномерных массивов. Размеры массивов вводить с клавиатуры. В консольном приложении предусмотреть возможность ввода данных как с клавиатуры, так и с использованием функции random().
Сумму элементов массива, расположенных между первым и последним положительными элементами.
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <iostream>
 using namespace std;
 
int main(int argc, char* argv[])
{
  float x[10];
int y,a,i,n,f,j(-1), k(0);
float s(0);
cout <<"N=";
cin >>n;
cout<<"AutoComplete - 1, manual input 2 \n";
cin>>y;
 
switch(y)
{
case 1:
cout<<"\nMassiv x ";
for(i=0; i<n;i++) {
a[i] = rand()%15-7;
cout<< x[i]<<" ";
}
break;
case 2:
for (i=0; i<n;i++)
cin>> a[i];
cout<<"\nMassiv x  ";
for(i=0; i<n;i++)
cout<< x[i]<<" ";
break;
default: 
cout<<endl;
system("pause");
exit(0);
}
 
 for ( int counter = 0; counter < n; counter++ ) // ???? ??? ?????? ????????? ???????
        cout << x[counter] << " ";
 
  for(int i = 0; i<n; i++)
        if(x[i]>0)
        {
             j<0 ? j = i : k = i;
        }
     for(int i = j+1; i<k; i++)
        s+=x[i];
     std::cout<<'\n'<<s<<'\n';
        system("pause");
    return 0;
}
//---------------------------------------------------------------------------
ошибки [C++ Error] Unit1.cpp(22): E2062 Invalid indirection
[C++ Error] Unit1.cpp(28): E2062 Invalid indirection
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2014, 21:46
Ответы с готовыми решениями:

Поменять в матрице случайный элемент в первой строке и случайный элемент в последней строке
Пользователь вводит массив 3 строки 4 столбца. Программа меняет местами случайный элемент в первой...

Случайный вывод в программе тест
Доброй ночи. Написал простую программу тест которая считает верные ответы и в конце выводит...

Случайный вывод значений переменных
Доброй ночи, мне тут подруга дала задачку, написать программу-гадалку. Ну мол, вводишь вопрос, а...

Случайный выбор из трех заданных чисел
Здравствуйте, как сделать выбор из 3 числ (1, 0 и 0,5) ????

Написать программу, упорядочивающую случайный массив чисел
Дана неупорядоченная последовательность чисел a = {a0, a1, …, aN}. Отсортировать a методом обменной...

10
Vavilon757
1 / 1 / 2
Регистрация: 09.04.2014
Сообщений: 14
11.04.2014, 21:53 2
Ну я думаю переменную а нужно писать так ) int a[10];
0
Tulosba
:)
Эксперт С++
4751 / 3245 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
11.04.2014, 21:54 3
Переменная "a" объявлена как число, а используется как массив.
0
wolf0022
2 / 2 / 2
Регистрация: 17.12.2013
Сообщений: 148
11.04.2014, 22:05  [ТС] 4
всем спасибо, ошибку нашел, но программа не решается как надо, чуть позже переделаю тему

Добавлено через 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
52
53
54
55
56
57
58
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <iostream>
 using namespace std;
 
int main(int argc, char* argv[])
{
  float x[10];
int y,a,i,n,f,j(-1), k(0);
float s(0);
cout<<"AutoComplete - 1, manual input 2 \n";
cin>>y;
 
switch(y)
{
case 1:
cout<<"\nMassiv x ";
for(i=0; i<n;i++) {
 x[i] = rand()%15-7;
cout<< x[i]<<" ";
for ( int counter = 0; counter < n; counter++ ) // ???? ??? ?????? ????????? ???????
        cout << x[counter] << " ";
 
  for(int i = 0; i<n; i++)
        if(x[i]>0)
        {
             j<0 ? j = i : k = i;
        }
     for(int i = j+1; i<k; i++)
        s+=x[i];
     std::cout<<'\n'<<s<<'\n';
        system("pause");
    return 0;
}
 
case 2:
for (i=0; i<n;i++)
cin>> x[i];
cout<<"\nMassiv x  ";
for(i=0; i<n;i++)
cout<< x[i]<<" ";
for ( int counter = 0; counter < n; counter++ ) // ???? ??? ?????? ????????? ???????
        cout << x[counter] << " ";
 
  for(int i = 0; i<n; i++)
        if(x[i]>0)
        {
             j<0 ? j = i : k = i;
        }
     for(int i = j+1; i<k; i++)
        s+=x[i];
     std::cout<<'\n'<<s<<'\n';
        system("pause");
    return 0;
}}
 
//---------------------------------------------------------------------------
0
Tulosba
:)
Эксперт С++
4751 / 3245 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
11.04.2014, 22:07 5
wolf0022, Вы пишете код просто наугад, чтобы другие люди Ваши ошибки искали что ли?
0
wolf0022
2 / 2 / 2
Регистрация: 17.12.2013
Сообщений: 148
11.04.2014, 22:12  [ТС] 6
форум создан для помощи? (советов на крайняк), вот для этого пишу, код писал не наугад
0
Tulosba
:)
Эксперт С++
4751 / 3245 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
11.04.2014, 22:19 7
Цитата Сообщение от wolf0022 Посмотреть сообщение
код писал не наугад
А не похоже. Вот например строка 19. Цикл до n. А чему равно n?
1
wolf0022
2 / 2 / 2
Регистрация: 17.12.2013
Сообщений: 148
11.04.2014, 22:29  [ТС] 8
спасибо разобрался, но теперь массив выводится два раза, подскажите пожалуйста как исправить?
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <iostream>
 using namespace std;
 
int main(int argc, char* argv[])
{
  float x[10];
int y,a,i,n,f,j(-1), k(0);
printf("Input N (<=15) ");
cin>>n;
float s(0);
cout<<"AutoComplete - 1, manual input 2 \n";
cin>>y;
switch(y)
{
case 1:
cout<<"\nMassiv x ";
for(i=0; i<n;i++) {
 x[i] = rand()%15-7;
cout<< x[i]<<" ";
}
break;
case 2:
for (i=0; i<n;i++)
cin>> x[i];
cout<<"\nMassiv x  ";
for(i=0; i<n;i++)
cout<< x[i]<<" ";
break;
default: 
cout<<endl;
system("pause");
exit(0);
}
 
 for ( int counter = 0; counter < n; counter++ ) // ???? ??? ?????? ????????? ???????
        cout << x[counter] << " ";
 
  for(int i = 0; i<n; i++)
        if(x[i]>0)
        {
             j<0 ? j = i : k = i;
        }
     for(int i = j+1; i<k; i++)
        s+=x[i];
     std::cout<<'\n'<<s<<'\n';
        system("pause");
    return 0;
}
//---------------------------------------------------------------------------
0
Миниатюры
Случайный и не случайный вывод чисел в одномерном массиве  
Tulosba
:)
Эксперт С++
4751 / 3245 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
11.04.2014, 22:45 9
Ветка case 2: заканчивается на 31 строке и управление переходит на 38.
Пора познакомиться с программой, которую называют "отладчик"
0
wolf0022
2 / 2 / 2
Регистрация: 17.12.2013
Сообщений: 148
11.04.2014, 22:49  [ТС] 10
http://s4.pikabu.ru/images/big_size_comm/2014-02_4/13925184602357.jpeg
0
Tulosba
:)
Эксперт С++
4751 / 3245 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
11.04.2014, 23:04 11
wolf0022, пошаговое выполнение. Debug. Точки останова и всё такое.
0
11.04.2014, 23:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2014, 23:04

rand() не случайный
почему на кажджой итерации rand() выдает одно и тоже значение ? srand((unsigned)time(NULL));...

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

Случайный выбор билета
Составить программу случайного выбора билета в театр из 5 предлагаемых, причем с вероятностью 3/8...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru