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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2013, 23:34   #1
SoulAndris
 
Регистрация: 24.12.2013
Сообщений: 3
Восклицание Одномерный массив. Си

Вводить элементы одномерного массива до тех пор , пока текущее значение больше суммы уже введенных четных значений.
Сформировать новый массив из элементов исходного массива, значения которых больше значения последнего элемента.
Код:
#include <stdio.h>
#include <conio.h>
#include <locale>

int main()
{
	setlocale(LC_ALL, "Russian");
	int x[10];
	int a[10];
	int s=0,i,c,j,z,n=10,f,kontr;
	do
	{
		printf("\n ВВЕДИТЕ ЭЛЕМЕНТЫ МАССИВА:   ");
		i=0;
		f=0;
		while (f == 0)
		{
			scanf("%d", x[i]);
		}
		while (x[i] <= s || i > 10 || !(i == 0 && x[i], 0))
		{
		f=1;
		}
		while (x[i] % 2 == 0 && x[i] != 0)
		{
			s += x[i];
		}
		i++;
		printf("\nКонтрольный вывод введенного массива:");
		i=n;
		for (i = 0; i < n; i++)
		{
			printf("%d", x[i]);
		}
		printf("\n Формирвание нового массива");
		j=0;
		i=0;
		if (i < n)
		{
			while (x[i]>x[n + 1])
			{
				x[i] = a[j];
				i++;
				j++;
				z++;
				n++;
			}
		}
		else
		{
			printf("\n Массив не сформирован");
		}
		printf("\n Вывод сформированного массива:");
		for (j = 0; j < z; j++)
		{
			printf("%d", a[j]);
		}
		printf("\nПовторить?(1-Да, 0-Нет): ");
		scanf("%d", &kontr);
	}
	while (kontr == 1);
	getch();

}
помогите найти в чем ошибка
SoulAndris вне форума Ответить с цитированием
Старый 25.12.2013, 11:05   #2
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

уже с самого начала веселуха
Код:
f=0;
		while (f == 0)
		{
			scanf("%d", x[i]);
		}
бесконечный цикл

продолжаем веселье
Код:
	while (x[i] <= s || i > 10 || !(i == 0 && x[i], 0))
		{
		f=1;
		}
и снова на те-же грабли...
Код:
	while (x[i] % 2 == 0 && x[i] != 0)
		{
			s += x[i];
		}
дальше смотреть не стал =)
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Старый 25.12.2013, 11:17   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

В первую очередь, на мой взгляд, при решении этой задачи нужно ответить на один вопрос.. "А сколько элементов будет в массиве?", который мы заполняем.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 25.12.2013, 13:38   #4
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

он же динамический получается. ограничиваемся только здравым смыслом.не?
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти одномерный массив элементы которого равны минимальным значениям в строках исходной матрицы и одномерный массив элементы... Richik123 Microsoft Office Excel 1 16.10.2013 15:45
Двумерный массив развернуть в одномерный массив по строкам[QBASIC] TrueStyle777 Помощь студентам 3 29.05.2013 21:56
Дан одномерный массив, сформировать новый массив по заданному правилу {Delphi} Nickolai47 Помощь студентам 5 16.12.2012 14:51
Одномерный массив , двухмерный массив Woxx Паскаль, Turbo Pascal, PascalABC.NET 0 10.09.2010 09:28
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54