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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2011, 15:03   #1
Валюша
 
Регистрация: 27.05.2011
Сообщений: 5
По умолчанию обработка одномерного массива

объясните пожалуйста,почему программа не работает?
Задание. Вводится массив, его элементы, принадлежащие промежутку от -5 до 5, выстроить по возрастанию.
Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define N 10
void main()
{randomize();
 int Mas[N];
 int i,j,t;
 static int n;
 for(i = 0;i < N;i++)
   Mas[i]=random(-20)+10;
   printf("\n\nMASSIV: ");
   for(i = 0;i < N;i++)
   printf("%5d",Mas[i]);
 for(i = 0;i < N;i++)
   for(j = 0;j < N-1;j++)
     if(Mas[j] > Mas[j+1])
      { t=Mas[j+1];
	Mas[j+1]=Mas[j];
	Mas[j]=t;
       }
   printf("\n\nSORT MASSIV: ");
 for(i = 0 ;i < N;i++)
   if (i<5&&i>-5)
       printf("%4d",Mas[i]);
 for(i = 0;i < N;i++)
    for(j = 0;j < N-1;j++)
     { for(;j < N;j++)
	  n++;
	 }
 getch();
}

Последний раз редактировалось Stilet; 28.05.2011 в 17:32.
Валюша вне форума Ответить с цитированием
Старый 28.05.2011, 18:56   #2
Anubys
Форумчанин
 
Регистрация: 08.05.2010
Сообщений: 177
По умолчанию

У меня получилось так

Код програми:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define N 10
void main()
{
 randomize();
 int Mas[N];
 int i,j,t;
 static int n;
 for(i = 0;i < N;i++)
   Mas[i]=random(-20)%10;
   printf("\n\nMASSIV: ");
   for(i = 0;i < N;i++)
   {
   printf("%5d",Mas[i]);
   }
   for (int x = N; x> 0; x--)
	{
		for (int i = 0; i <N-1; i++)
		{
		if (Mas[i]>Mas[i+1])
			{
			t = Mas[i];
			Mas[i] = Mas[i+1];
			Mas[i+1] = t;
			}
		}
	}
   printf("\n\nSORT MASSIV: ");
 for(i = 0 ;i < N;i++)
   if (Mas[i]<5&&Mas[i]>-5)
	   printf("%4d",Mas[i]);
 for(i = 0;i < N;i++)
	for(j = 0;j < N-1;j++)
	 { for(;j < N;j++)
	  n++;
	 }
 getch();
}
То что я выделил красным оно здесь бесполезно ничего не выводит и не считаетпромежутке -5; 5 а сортировать надо весь массив убери там где жирным выделено
Вы не поняли, сами элементы принадлежат промежутке -5; 5 а сортировать надо весь массив убери там где жирным выделено
В будущем пожалуйста вставьте скобки в операторы условия и цикла, со скобками гораздо читабильнише
Если уберете все что я повыделял, в теории должно вывести весь массив

Последний раз редактировалось Anubys; 28.05.2011 в 19:25.
Anubys вне форума Ответить с цитированием
Старый 28.05.2011, 19:40   #3
Валюша
 
Регистрация: 27.05.2011
Сообщений: 5
По умолчанию

Спасибо Вам большое Но без того,что вы красным выделили только отрицательные числа выводит....)

Последний раз редактировалось Валюша; 28.05.2011 в 19:54.
Валюша вне форума Ответить с цитированием
Старый 28.05.2011, 19:53   #4
Anubys
Форумчанин
 
Регистрация: 08.05.2010
Сообщений: 177
По умолчанию

Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define N 10
void main()
{
 randomize();
 int Mas[N];
 int i,j,t;
 static int n;
 for(i = 0;i < N;i++)
   Mas[i]=random(-20)%10;
   printf("\n\nMASSIV: ");
   for(i = 0;i < N;i++)
   {
   printf("%5d",Mas[i]);
   }
   for (int x = N; x> 0; x--)
	{
		for (int i = 0; i <N-1; i++)
		{
		if (Mas[i]>Mas[i+1])
			{
			t = Mas[i];
			Mas[i] = Mas[i+1];
			Mas[i+1] = t;
			}
		}
	}
   printf("\n\nSORT MASSIV: ");
 for(i = 0 ;i < N;i++)
           if (Mas[i]<5&&Mas[i]>-5)
	      printf("%4d",Mas[i]);
  


 getch();
}
Тестируйте на вашем компиляторе
Немного не так понял вашу задачу теперь должно все выводить нормально

Последний раз редактировалось Anubys; 28.05.2011 в 20:20.
Anubys вне форума Ответить с цитированием
Старый 28.05.2011, 20:25   #5
Валюша
 
Регистрация: 27.05.2011
Сообщений: 5
По умолчанию

ну...согласна...
Валюша вне форума Ответить с цитированием
Старый 28.05.2011, 20:30   #6
Anubys
Форумчанин
 
Регистрация: 08.05.2010
Сообщений: 177
По умолчанию

Будет еще что-то непонятное, пишите розберемся, только для начала попробуйте сами решить задачу, а если не удастся тогда пишите сюда
Anubys вне форума Ответить с цитированием
Старый 28.05.2011, 23:05   #7
Валюша
 
Регистрация: 27.05.2011
Сообщений: 5
По умолчанию

Вот ещё эту задачу не могу никак решить...
На тему: Обработка двумерных массивов.
Пользователь вводит с клавиатуры число N(строки и столбцы)Заполняется автоматически.
Задание: Элементы заданной строки и столбца поменять местами.
Валюша вне форума Ответить с цитированием
Старый 29.05.2011, 00:07   #8
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Код:
for (i = 0; i < n; i++)
{
    temp = mas[cols][ i];
    mas[cols][i] = mas[i][ rows];
    mas[i][rows] = temp;
}
где rows, cols - номер строки и столбца
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 29.05.2011, 12:16   #9
Валюша
 
Регистрация: 27.05.2011
Сообщений: 5
По умолчанию

Извините конечно,но я в Си плохо разбираюсь(
вот написала программу,а как начало с концом связать - не знаю( объясните пожалуйста.

#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>
void main()
{int mas[30][30],n,m,i,j,tmp;
int temp;
cout<<"N=";
cin>>n;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
mas[i][j]= i*10+j;
printf("%5d",mas[i][j]);
}
printf("\n");
}
printf("----------------\n");
cout<<"m=";
cin>>m;
temp = mas[m][i];
mas[m][i] = mas[i][m];
mas[i][m] = temp;
printf("\n");
getch();
}
Валюша вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка одномерного массива tomriddle Паскаль, Turbo Pascal, PascalABC.NET 1 03.02.2011 18:14
Формирование одномерного массива Kcu Помощь студентам 22 24.10.2010 17:28
обработка одномерного массива avengelus Помощь студентам 5 23.10.2010 08:38
Обработка одномерного массива. Gangstervic Помощь студентам 0 16.12.2009 19:21
Turbo Pascal. Формирование и обработка одномерного массива мирЗвонка Помощь студентам 2 04.11.2009 12:17