Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 02.02.2009, 19:46   #1
Chakki
Оператор ЭВМ
 
Аватар для Chakki
 
Регистрация: 09.12.2008
Сообщений: 42
Написано 2 полезных сообщений
(для 3 пользователей)
Мои вопросы по С++

В свзи с тем что "чуёба" (с) Импер .. заставляет учить С++ приходится решать задачки там, а в С++ я нуб нубом)

так вот там задачка
задан двумерный массив, надо найти все неотрицательные значения и найти их среднее значение(вроде так)
#include <math.h>
#define m 3
#define n 2
// и еще инклуды, непомню точно)
using namespace std;

int main();
{
 int S,i,j,a,d,mass[m][n];
 int end;
 
 a=0;
 d=0;

 for(i=0;i<m;i++)
 { for(j=0;j<n;j++)
   {
     mass[i][j] = rand(); // или cin, мне все равно)
   }
  }
//Вывод исходного массива
   cout << "Исходный массив: ";
 for(i=0;i<m;i++)
 { for(j=0;j<n;j++)
   {
     cout << mass[i][j];
   }
  }
//----------------------------
  for(i=0;i<m;i++)
  { for(j=0;j<n;j++)
    {
       if(mass[i][j] >= 0)
         {
            a = a +mass[i][j];
            d++;
          }
       }
     }

S=a/d;
cout << "Результат: ";
cout S;
Вроде все работает и компиляция проходит, но выдает странное число...
весь код облазил ниче не нашол)))
и еще не понимаю зачем нужен define, если можно просто в теле программы написть int m=3; int n =2;
Да и не закрывайте темку, по мере "чуёбы" буду писать сюда еще вопросы.. если будут возникать)
__________________


Gameplay First

Последний раз редактировалось Chakki, 02.02.2009 в 19:54.
(Offline)
 
Ответить с цитированием
Старый 02.02.2009, 19:58   #2
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Мои вопросы по С++

rand() - загадывает случайное. случную последовательность 32нулей ил единиц.
чтобы получить число в какаих то человеческих раницах, а не -2^31 ... 2^31 - 1, надо брать остаток от целочисленного деления - оператор %.

например случайное число от 0 до 100 ето rand() % 101.
от -100 до 100 ето rand()%201 - 100.

ну и так далее.

#define m 3
#define n 2
очень плохо. лучше пиши const int m = 3, n = 2;

выводить лучше так:
 for(i=0;i<m;i++)
 { for(j=0;j<n;j++)
   {
     cout << mass[i][j];
   }
cout<<endl;
  }
S - лучше сделать double.

ну и есть оператор += если что.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Chakki (02.02.2009)
Старый 02.02.2009, 20:01   #3
Chakki
Оператор ЭВМ
 
Аватар для Chakki
 
Регистрация: 09.12.2008
Сообщений: 42
Написано 2 полезных сообщений
(для 3 пользователей)
Ответ: Мои вопросы по С++

да, про дефайн я сам усомнился, но у препода не спросил
rand() я менял на паре, и вводил числа с помощью cin
Это все конечно хорошо.
Но проблема то осталась проблемой=(
он почемуто выводит мне страшное пятизначное число, когда должен вывести не более двухзначного
(с клавиатуры я вводил массив 1 2 3 4 5 6)
__________________


Gameplay First
(Offline)
 
Ответить с цитированием
Старый 02.02.2009, 20:08   #4
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Мои вопросы по С++

#include <math.h>
#include <iostream>
const int m=3;
const int n=2;
// и еще инклуды, непомню точно)
using namespace std;

int main()
{
 int S,i,j,a,d,mass[m][n];
// int end;
 
 a=0;
 d=0;

 for(i=0;i<m;i++)
 { for(j=0;j<n;j++)
   {
     mass[i][j] = (rand()%21)-10; // или cin, мне все равно)
   }
  }
//Вывод исходного массива
   cout << "Исходный массив: ";
 for(i=0;i<m;i++)
 { for(j=0;j<n;j++)
   {
     cout << mass[i][j]<<(char)9;
   }
 cout<<endl;
  }
//----------------------------
  for(i=0;i<m;i++)
  { for(j=0;j<n;j++)
    {
       if(mass[i][j] >= 0)
         {
            a = a +mass[i][j];
            d++;
          }
       }
     }

S=a/d;
cout << "Результат: "<<S<<endl;
}
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Chakki (02.02.2009)
Старый 02.02.2009, 20:18   #5
Chakki
Оператор ЭВМ
 
Аватар для Chakki
 
Регистрация: 09.12.2008
Сообщений: 42
Написано 2 полезных сообщений
(для 3 пользователей)
Ответ: Мои вопросы по С++

ппц! оО
я аж афигел оО
запускаю у себя код который сам написал в первом посту и работает оО
в институте работал, выдовал СТРАШНЫЕ числа!
Вот что подрывает тягу учится - институтские компы оО
Но все равно спс, холидэл, есть чему поучится)))
__________________


Gameplay First
(Offline)
 
Ответить с цитированием
Старый 05.02.2009, 21:30   #6
Chakki
Оператор ЭВМ
 
Аватар для Chakki
 
Регистрация: 09.12.2008
Сообщений: 42
Написано 2 полезных сообщений
(для 3 пользователей)
Ответ: Мои вопросы по С++

Ребята, вот еще вопрос
Такая задачка, значит двумерный массив, целочисленный, размер не важен, там случайные числа, нужно зделать вывод массива по схеме спираль
ну тоесть вывод такой
1 число - ячейка (1.1)
2 число - чейка (1.2)
3 число - ячейка (1.3)
4 число - ячейка (2.3)
5 число - ячейка (3.3)
и так по спирали))))

мне не нужен код, я никак не могу понять какбы это зделать ... нужна идея, толчок)
помогите пожалуйста, а реализовать - я уж какнибудь сам (не для того же я тут, чтобы за меня решали)
__________________


Gameplay First
(Offline)
 
Ответить с цитированием
Старый 05.02.2009, 22:01   #7
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Мои вопросы по С++

подсказка - "граница", "стенка"
(Offline)
 
Ответить с цитированием
Старый 07.02.2009, 10:15   #8
Chakki
Оператор ЭВМ
 
Аватар для Chakki
 
Регистрация: 09.12.2008
Сообщений: 42
Написано 2 полезных сообщений
(для 3 пользователей)
Ответ: Мои вопросы по С++

Значит ночевал я не дома, и на бумаге написал вот это
int main(...)
{const int m = 3;
  const int n = 3;
  int i,,j,mass[m][n];
  //ввод чисел в массив
  for(i=0;i<m;i++)
  {for(j=0;j<n;j++)
    {mass[i][j]=rand()%101;} }
  //вывод исходного массива
  for(i=0;i<m;i++)
  {for(j=0;j<n;j++)
   {cout<<"Исходный массив: "<<mass[i][j]<<endl;} }
  //далее вывод по спирали
  j=0;
  for(i=0;i<m;i++)
  {cout<<"первая строка: "<<mass[i][j]<<endl;}
  i=m-1;
  for(j=0;j<n;j++)
  {cout<<"третий столбец: "<<mass[i][j]<<endl;}
  j=n-1;
  for(i=m-1;i>=0;i--)
  {cout<<"нижня строка задом наперед оО: "<<mass[i][j]<<endl;}
  i=0;
  for(j=n-1;j>0;j--)
  {cout<<"первый столбец бла бла: "<<mass[i][j]<<endl;}
  j=n-1;
  for(i=m-1;i<m-1;i++)
  {cout<<"конечный вывод(отрезок по центру): "<<mass[i][j]<<endl;}
решение той задачи, которая выше, но алгоритм плохой, только если столбцо и строк 3 и 3... как написать универсальный в голову ниче не приходит, может я чтото важное по работе с двумерными массивами пропустил?
__________________


Gameplay First
(Offline)
 
Ответить с цитированием
Старый 07.02.2009, 23:28   #9
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Re: Мои вопросы по С++

я с++ незнаю, но разве нелзя в твоем коде например вместо констант сделать считыватель количества строк и столбов ?
(Offline)
 
Ответить с цитированием
Старый 09.02.2009, 11:55   #10
Chakki
Оператор ЭВМ
 
Аватар для Chakki
 
Регистрация: 09.12.2008
Сообщений: 42
Написано 2 полезных сообщений
(для 3 пользователей)
Ответ: Мои вопросы по С++

а я почти ниче в программировании не знаю, и думаю)
а пока приболел, работу временно остановил
да и еслибы зделал кое как, препод бы не поверил, мы такого еще не прошли, а мне надо по программе курса)
__________________


Gameplay First
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы. AndruXa Blitz3D 17 13.09.2007 13:54
некоторые вопросы по с++ Timon C++ 10 12.08.2007 02:16
Вопросы vadim2 3D-программирование 2 11.07.2006 21:59


Часовой пояс GMT +4, время: 12:30.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com