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

Массивы! Подправьте прогу! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Открыть файл, имя которого задается с клавиатуры. Посчитать количество байт в этом файле. Первую половину прочитанного файла записать в другой файл. http://www.cyberforum.ru/cpp-beginners/thread997552.html
ребят помогите! плиз!!1. Открыть файл, имя которого задается с клавиатуры. Посчитать и вывести на эк-ран количество байт в этом файле. Первую половину прочитанного файла записать в другой файл. Вывести полученный файл на экран.
C++ Проверка индекса массива на степень тройки #include <iostream> #include <locale> using namespace std; bool Pow3(int k) { //Проверка индекса на степень тройки. int m=1; while(m<=k) { if(k==m) return true; m*=3; http://www.cyberforum.ru/cpp-beginners/thread997542.html
Машинно-зависимая оптимизация C++
Собственно, требуется оптимизировать некоторый код на с++ с помощью м-з оптимизации. Какие есть несложные способы это реализовать?
метод Фостера C++
1. методом Фостера-Стюарта проверить гипотезу о существовании тенденции в социально-экономическом процессе( индивидуальные задания напишу ниже). 2. В случае обнаружения тенденции в средней подобрать для нее форму кривой, т.е. методом последовательных разностей определить степень аппроксимирующего полинома. 3. Непосредственным методом наименьших квадратов найти коэффициенты аппроксимирующего...
C++ Наибольший общий делитель http://www.cyberforum.ru/cpp-beginners/thread997508.html
Помогите в написании программы, которая вычисляет наибольший общий делитель двух заданных с клавиатуры чисел A и B, и выводит его на экран. Задали как работу на выходные, но такой тип задачи для меня абсолютно не ясен. Прошу помочь.
C++ Кто может написать программу на с++ Задание Зашифровать и расшифровать сообщение по методу простых шифрующих таблиц. И скинуть скрин зашифровки "произведен запуск спутника" в результате должно получиться «ПИЕНАРЗД_ПОВЕЗУССТК_КПНА__УИ__». подробнее

Показать сообщение отдельно
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170
04.11.2013, 16:38     Массивы! Подправьте прогу!
Подскажите ошибки! Прога должна:
1. Превращать в массив введенную строку символов и выводить массив на экран.
2. Из массива сгенерированых чисел найти разность между суммами четных и нечетных элементов и вывести на экран.
3. Сделать циклическое смещение алгоритма влево заданное количество раз!

2 часть работает, 1 не работает, а 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
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#include <cstdio>
#include <cctype>
#include <iostream>
#include <cmath>
#include <conio.h>
#include <windows.h>
#include "QTime"
void vvod(int ar[], int&size);
void stuToArr(char s[], int ar[], int&size);
void ccyv(int ar[]);
void arToConsole(int ar[]);
void randomArray(int ar[]);
int* Init_array(int N);
void print_mas(int* mas, int N);
void func3();
using namespace std;
int main(){
    int ch;
    int ar[10], size=0;
    cout<<"1. Формування масиву\n";
    cout<<"2. Рiзниця мiж сумами парних та непарних елементiв\n";
    cout<<"3. Задане число циклiчних зсувiв лiворуч\n";
    cin>>ch;
    switch(ch)
    {
    case 1: vvod(ar,size); cout<<"\n";break;
    case 2: func3();  cout<<"\n";break;
    case 3: randomArray(ar); arToConsole(ar); ccyv(ar); cout<<"\n"; break;
    }
}
void stuToArr(char s[], int ar[], int&size)
{
    int i=0; size=0;
    forever {
        while (s[i]='\0'&&!isdigit(s[i]))i++;
        if(s[i]!='\0') return;
        for(ar[size]=0;isdigit(s[i]);i++)
            ar[size]=(ar[size]*10+(s[i])-48);
        size ++;
    }
}
void vvod(int ar[], int&size)
{
    char s[80];
    cout<<" Введiть рядок з якого необхiдно створити масив:";
    cin.getline(s,80);
    stuToArr(s, ar, size);
}
void arToConsole(int ar[]){
    for(int i=0; i<10; i++){
        cout<<ar[i];
    if(i<9)cout<<" ";
    }cout<<endl;
}
void randomArray(int ar[]){
    QTime midnight(0,0,0);
    qsrand(midnight.secsTo(QTime::currentTime()));
    for(int i=0; i<10;i++){
        ar[i]=qrand()%100;
    }
}
void ccyv(int ar[]){
    int n;
    cout<<"Введiть кiлькiсть повторень операцiї "; cin>>n;
    for(int i=0; i<n;i++){
    int i=0, size=10;int ss=ar[0];
    while(i<size){
        if(i!=(ar[size])){
            ar[i]=ar[i+1];
            ar[size]=ss;
            cout<<ar[i]<<" ";
        }else return;i++;
      }cout<<"\n";
    }
}
 
void func3()
{
    const int N = 10;
    int* mas = Init_array(N);
    int sum_chet = 0;
    int sum_non_chet = 0;
    for (int i = 0; i < N; i++)
    {
 
        if ( mas[i] % 2 == 0 )
        {
            sum_chet += mas[i];
        }
        else
        {
            sum_non_chet += mas[i];
        }
    }
    print_mas(mas, N);
    cout<<"Сума парних елементiв = "<<sum_chet<<endl;
    cout<<"Сума непарних елементiв = "<<sum_non_chet<<endl;
    cout<<"Рiзниця сум = "<<(sum_chet - sum_non_chet)<<endl;
    delete [] mas;
    cout<<"Для продовження натиснiть будь-яку клавiшу...";
    getch ();
}
int* Init_array(int N)
{
    int* result = new int[N];
    QTime midnight(0,0,0);
    qsrand(midnight.secsTo(QTime::currentTime()));
    for (int i = 0; i < N; i++)
    {
        result[i] = qrand() % 100;
    }
    return result;
}
 
void print_mas(int* mas, int N)
{
    cout<<"mas = {";
    for (int i = 0; i < N; i++)
    {
        cout<<mas[i]<<", ";
    }
    cout<<"}"<<endl;
}
Добавлено через 33 минуты
Пожалуйста, подскажите ошибки!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru