Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2009, 15:01   #1
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
Стрелка Помогите найти ошибку (С++)

Программа должна цыклически сдвигать елементы массива(елементы в масиве рандомные) на K елементов влево.
Код:
#include <cstdlib>
#include <iostream>
#include<ctime>
#include<conio.h>

using namespace std;

int main(int argc, char *argv[])
{
        int m,n;      
    int a[100];      
	int b[100];
	
	cout << "Enter size of array: ";
	cin >> m;
	cout << "Enter k-elementov: ";
	cin >> n;

srand(time(NULL));

cout<<"massiv\n ";
for(int i=0;i<m;i++)
{
   a[i]=rand()%100-50;
   cout<<a[i]<<" ";
}

	for(int i=0;i<m;i++)
		b[i]=a[i];
	for(int o=0;o<n-m;o++)
		a[o]=a[o+m];
	for(int g=0;g<m;g++)
		a[g+n-m]=b[g];
	
	cout << "Result: ";
    	for(int i=0;i<m;i++)
          {
		    cout << a[i] << " ";
          }
    system("PAUSE");
    return EXIT_SUCCESS;
}
Alex1991 вне форума Ответить с цитированием
Старый 11.04.2009, 15:19   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Alex1991
Чтобы найти ошибку, нужно знать логику работы.
Вот здесь:
Код:
for(int o=0;o<n-m;o++)
если n меньше m, цикл не выполнится ни разу.

И вообще, чтобы исключить n большие m, нужно взять остаток от деления.
В общем, посмотрите тут -> http://programmersforum.ru/showthread.php?t=43541
Как раз писал сдвиг влево.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку (С++). TheWanderer Помощь студентам 1 19.03.2009 15:00
помогите найти ошибку deadh5n1 Помощь студентам 1 13.03.2009 20:56
Помогите найти ошибку Anat JavaScript, Ajax 12 28.01.2009 23:50
помогите найти ошибку LyaLyaLya Помощь студентам 6 15.12.2008 20:59
Помогите найти ошибку ( с++ ) JOFRIF Помощь студентам 10 23.05.2008 14:34