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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2008, 17:43   #1
Many man
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 83
Смущение Задачи на C++ на одномерные массивы

Помогите исправить задачу:
Найти минимум из положительных элементов.
Вот код:
Код:
#include<iostream.h>
#include<conio.h>
void main ()
{int n,min,a[100];
cout<<"n=";cin>>n;
for(int i=0;i<n;++i)
{
cout<<"a["<<i<<"]=";cin>>a[i];
if (a[i]>0 && a[i-1]<min)
min=a[i];
cout<<"min="<<min;
}
for(i=0;i<n;++i)
cout<<a[i]<<"\t";
getch ();
}
Many man вне форума Ответить с цитированием
Старый 21.12.2008, 17:59   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вот
Код:
#include<iostream>
#include<conio.h>
using namespace std;
int main ()
{
int n,min,a[100],i;
cout<<"n=";cin>>n;
min = -1;
for(i=0;i<n;++i)
{
cout<<"a["<<i+1<<"]=";cin>>a[i]; cout<<endl;
if (a[i]>0)
 {
 if(min==-1) {min=a[i]; continue; }
 else {
    if(a[i]<min)
    min=a[i];
      }
 }
}
if(min!=-1)
 cout<<"min="<<min<<endl;
else cout<<"Not minimum"<<endl;
for(i=0;i<n;++i)
cout<<a[i]<<"\t";

getch ();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 21.12.2008, 20:08   #3
Many man
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 83
По умолчанию

А вот так можно было сделать?
Код:
#include<iostream.h>
#include<conio.h>
void main()
{
int n; cout<<"n="; cin>>n;
int a[100];
for(int i=0;i<n;i++)
{
cout<<"a["<<i<<"]=";cin>>a[i];
}
int min=a[0];
int nmin=0;
for( i=1;i<n;++i)
if(a[i]<min)
{
min=a[i];
nmin=i;
}
cout<<"min="<<min<<"\t nmin="<<nmin<<endl;
getch();
}
Many man вне форума Ответить с цитированием
Старый 21.12.2008, 21:16   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Many man По порядку:
- Переменная i у вас существует только в первом цикле. Нужно либо добавить "int " перед i во втором цикле, либо сделать ее глобальной.
- Начальное значение min у вас равно a[0]. А что, если a[0]<0? Тогда программа и выведет в конце это значение. Но ведь вам нужно найти минимум именно среди положительных элементов. Поэтому нужно добавить проверку (что сделано в моем варианте).
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 22.12.2008, 21:07   #5
alexov
Пользователь
 
Регистрация: 31.10.2008
Сообщений: 61
По умолчанию

#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int n; cout<<"n="; cin>>n;
int a[100];
for(int i=0;i<n;i++)
{
cout<<"a["<<i<<"]=";cin>>a[i];
}
int min=a[0];
for(int i=0; i<n; i++)
{
if(min>a[i])
min=a[i];
}
cout<<"min="<<min<<endl;
system("pause");
}
!Help Win Api!
alexov вне форума Ответить с цитированием
Старый 25.12.2008, 17:47   #6
Many man
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 83
По умолчанию

Дайте пожалуйста подсказку , как решать вот эту задачу:
Дан массив размером n x n, элементы которого целые числа.
Выяснить,является ли матрица симметричной относительно главной диагонали.
Many man вне форума Ответить с цитированием
Старый 25.12.2008, 18:01   #7
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Many man
Код:
#include <iostream>
#include <conio.h>

using namespace std;
const int n=3;
int main(){
int i,j;
int matr[n][n];
cout<<"Enter elements:"<<endl;
for(i=0;i<n;i++)
 for(j=0;j<n;j++)
  {
   cout<<"matr["<<i<<"]["<<j<<"]= ";
   cin>>matr[i][j];
    }
 cout<<endl;
 for(i=0;i<n;i++)
  for(j=0;j<n;j++)
   if(matr[i][j]!=matr[j][i])
    {
     cout<<"Matrica ne simmetrichnaya"<<endl;
     getch();
     return 0;
    }
cout<<"Matrica simmetrichnaya"<<endl;
getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 26.12.2008, 17:57   #8
Many man
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 83
По умолчанию

А можно вот с этого места поподробнее объяснить?
Код:
cout<<endl;
 for(i=0;i<n;i++)
  for(j=0;j<n;j++)
   if(matr[i][j]!=matr[j][i])
    {
     cout<<"Matrica ne simmetrichnaya"<<endl;
     getch();
     return 0;
    }
cout<<"Matrica simmetrichnaya"<<endl;
getch();
return 0;
}
Many man вне форума Ответить с цитированием
Старый 26.12.2008, 18:08   #9
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Many man
Мы проверям, равнны ли элементы относительно главной диагонали.
Если хоть один не равен - матрица не симметричная.

upd Кстати, этот кусок, вроде, можно упростить:
Код:
for(i=0;i<n;i++)
  for(j=i;j<n;j++)
   if(matr[i][j]!=matr[j][i])
    {
     cout<<"Matrica ne simmetrichnaya"<<endl;
     getch();
     return 0;
    }
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

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

Последний раз редактировалось Sazary; 26.12.2008 в 18:13.
Sazary вне форума Ответить с цитированием
Старый 26.12.2008, 18:13   #10
Many man
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 83
По умолчанию

А зачем нужен ! после matr[i][j]?
Many man вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
C++/ Одномерные массивы BennyBenassy Общие вопросы C/C++ 6 23.02.2009 14:27
Одномерные массивы Дашуня Помощь студентам 1 06.12.2008 11:20