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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2014, 19:59   #1
vbn1
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 67
По умолчанию Помогите исправить ошибку

Задача Написать программу,которая проверяет,есть ли во введённом с клавиатуры массиве элементы с одинаковыми значениями
В чём ошибка выводит всё время нет одинаковых элементов
Код:
#include "stdio.h"
#include "conio.h"
void main()
{
int mas[8];
int i,j,k;
int flag=0;
printf("Vvedite massiv chisel");
for (i=1;i<=8;i++)
{
scanf("%d",&k);
mas[i]=k;
}
for (i=1;i<=8;i++)
{
for (j=i+1;j<=8;j++)
if (mas[j]==mas[i])
{
 flag= 1;
}
else
flag= 0;
}
if (flag==1)
{
printf("NaydenbI odinakovbIe elementbI");
}
else
printf("Net odinakovbIx elementbI");
getch();
}
vbn1 вне форума Ответить с цитированием
Старый 18.05.2014, 20:47   #2
VladimirVB
Форумчанин
 
Аватар для VladimirVB
 
Регистрация: 12.10.2008
Сообщений: 131
Стрелка

Код:
#include "stdafx.h"
#include <iostream>
using namespace std; 
#define KOL 8

int main()
{
	setlocale(LC_CTYPE, "RUS");

	int mas[KOL];
	int i, j, k;
	int flag = 0;
	printf("Введите массив чисел\n");
	
	for (i = 0; i < KOL; i++)
	{
		scanf("%d", &k);
		mas[i] = k;
	}

	for (i = 0; i < KOL; i++)
	{
		for(j = i + 1; j <= KOL; j++)
			if (mas[j] == mas[i])
			{
				flag = 1;
				goto stop;	// <--
			}
			else
				flag = 0;
	}

	stop:	//<--
	if (flag == 1)
		printf("Есть одинаковые элементы\n");
	else
		printf("Нет одинаковых элементов\n");


	return 0;
}
VladimirVB вне форума Ответить с цитированием
Старый 18.05.2014, 21:14   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Что это - GOTO, неожиданно!!!!
Что, без него никак?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 18.05.2014, 21:26   #4
vbn1
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 67
По умолчанию

о спасибо,ещё один вопрос goto это типо метка перехода?

Последний раз редактировалось vbn1; 18.05.2014 в 21:40.
vbn1 вне форума Ответить с цитированием
Старый 18.05.2014, 22:25   #5
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Да, это переход по метке. Но честно говоря считаю ее использование не желательным.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 18.05.2014, 23:40   #6
VladimirVB
Форумчанин
 
Аватар для VladimirVB
 
Регистрация: 12.10.2008
Сообщений: 131
Стрелка

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
Что это - GOTO, неожиданно!!!!
Что, без него никак?
Да лень было искать что-то другое. А вообще то я и сам не ожидал что буду использовать GOTO.
VladimirVB вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибку. vfrc Microsoft Office Excel 0 17.11.2009 23:31
Помогите исправить ошибку masha17 Общие вопросы C/C++ 3 22.10.2009 14:21
помогите исправить ошибку Deniska112 Помощь студентам 4 25.06.2009 12:15
Помогите исправить ошибку! samuex Microsoft Office Word 1 24.02.2009 22:05
Помогите исправить ошибку artem_MG Паскаль, Turbo Pascal, PascalABC.NET 4 27.10.2008 17:42