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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2010, 17:17   #1
ПеПпИ
 
Регистрация: 09.11.2010
Сообщений: 8
По умолчанию Необходимо найти ошибку, задача на языке С

Задание:объявить два массива, передать их значение в функцию и соединить в одну таким способом:
1массив:0 0 0 0
2массив:1 1 1 1
результат:0 1 0 1 0 1 0 1
вот что у меня есть:
Код:
#include "stdafx.h"
#include "iostream.h"
#include "stdio.h"
void masmus(int mas[4],int mus[4]);
int i,j,k;
int main()
{int mas[4];
cout<<"vvedite 4 chisla"<<endl;
for (i=0;i<4;i++){
cin >> mas[i];}
int mus[4];
cout<<"vvedite 4 chisla"<<endl;
for (i=0;i<4;i++){
cin>>mus[i];}
	masmus(mas,mus);
	return 0;
}
void masmus(int mas[4],int mus[4])
{
int mis[8];
for (i=0;i<4;i++){
	for (j=0;j<4;j++){
for (k=0;k<8;k++){
	mis[k]=mas[i];
	mis[k+1]=mus[j];}}}
	cout<<mis[k]<<endl;
	
}

Последний раз редактировалось Stilet; 13.11.2010 в 23:01.
ПеПпИ вне форума Ответить с цитированием
Старый 13.11.2010, 18:07   #2
Ezhuk
Форумчанин
 
Регистрация: 09.10.2010
Сообщений: 217
По умолчанию

Зачем stdio.h? И не хватает
Код:
using namespace std;
И функция masmus непонятно что делает.


Код:
	int p=0,m[8];
	for(int i=0;i<8;i++){
		m[i++]=mas[p];
		m[i]=mus[p++];
	}
Ёж птица гордая, пока не пнешь не полетит.
Ezhuk вне форума Ответить с цитированием
Старый 13.11.2010, 20:14   #3
ПеПпИ
 
Регистрация: 09.11.2010
Сообщений: 8
По умолчанию

using namespace std; - для чего это нужно?
вот исправленный вариант, но нужного результата всё равно не выводится:
Код:
#include "stdafx.h"
#include "iostream.h"
void masmus(int mas[4],int mus[4]);
int i,j,k;
int main()
{int mas[4];
cout<<"vvedite 4 chisla"<<endl;
for (i=0;i<4;i++){
cin >> mas[i];}
int mus[4];
cout<<"vvedite 4 chisla"<<endl;
for (i=0;i<4;i++){
cin>>mus[i];}
	masmus(mas,mus);
	return 0;
}
void masmus(int mas[4],int mus[4])
{
int m[8];
i=0;
j=0;
	for(int k=0;k<8;k++){
		m[k++]=mas[i];
		m[k]=mus[j++];
	}
	cout<<m[k]<<endl;
}

Последний раз редактировалось Stilet; 13.11.2010 в 23:01.
ПеПпИ вне форума Ответить с цитированием
Старый 13.11.2010, 22:46   #4
Ezhuk
Форумчанин
 
Регистрация: 09.10.2010
Сообщений: 217
По умолчанию

Может потому что вы выводите только m[7] ?

И ваш код в таком виде невозможно нормально читать!..
Ёж птица гордая, пока не пнешь не полетит.
Ezhuk вне форума Ответить с цитированием
Старый 14.11.2010, 17:30   #5
ПеПпИ
 
Регистрация: 09.11.2010
Сообщений: 8
По умолчанию

а как правильно в этом случае вывести результат?
ПеПпИ вне форума Ответить с цитированием
Старый 14.11.2010, 17:53   #6
Ezhuk
Форумчанин
 
Регистрация: 09.10.2010
Сообщений: 217
По умолчанию

Код:
void masmus(int mas[4],int mus[4])
{
int m[8];
int p=0;
	for(int k=0;k<8;k++){
		m[k++]=mas[p];
		m[k]=mus[p++];
	}
	for(int k=0;k<8;k++)
		cout<<m[k]<<" ";
	cout<<endl;
}
Ёж птица гордая, пока не пнешь не полетит.
Ezhuk вне форума Ответить с цитированием
Старый 14.11.2010, 18:19   #7
ПеПпИ
 
Регистрация: 09.11.2010
Сообщений: 8
По умолчанию

если с Вашим кодом, то ему не нравится второй for(выдаёт такую ошибку:error C2374: 'k' : redefinition; multiple initialization), если его убрать, то печатает в результате:1245056
ПеПпИ вне форума Ответить с цитированием
Старый 14.11.2010, 19:45   #8
Ezhuk
Форумчанин
 
Регистрация: 09.10.2010
Сообщений: 217
По умолчанию

В ошибки все написано что не так...

Поставьте вместо k какую-нибудь другую букву, или слово из словаря, или набор букв.
Например можно так
Код:
	for(int zrhtdtlrj=0;zrhtdtlrj<8;zrhtdtlrj++)
		cout<<m[zrhtdtlrj]<<" ";
Ёж птица гордая, пока не пнешь не полетит.
Ezhuk вне форума Ответить с цитированием
Старый 14.11.2010, 19:58   #9
ПеПпИ
 
Регистрация: 09.11.2010
Сообщений: 8
По умолчанию

Спасибо большое, всё работает))))
ПеПпИ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по VC++ найти и исправить ошибку!!! Executer Фриланс 2 04.11.2010 19:03
Задача на ряд Тейлора - не могу найти ошибку _NooB_ Помощь студентам 0 30.09.2010 14:53
Турбо паскаль:программа находящая сумму ряда(необходимо найти ошибку в коде) Galchonok Помощь студентам 5 12.06.2010 15:10
Помогите Найти ошибку.Задача на массив BackSlash Помощь студентам 4 10.01.2010 16:14
Задача Pascal (Procedure) Помогите найти ошибку! Seriy8888 Паскаль, Turbo Pascal, PascalABC.NET 2 14.12.2008 14:53