Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пара вопросов по С++, массивы 
:(
    Опции темы
neic
Дата 17.6.2010, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: нет
Всего: 7



1 день в Си разбираюсь.
И вот накопилось пару вопросов:
1) Что нужно сюда вставить, что бы значения в массиве заполнялось рандомными числами.
2) Как вывести такой массив:
n=4

1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1

Я так предполагаю, тут уже нужно будет выводить не count, а чем-то другим, я прав?

3) Что означает "\n" в этой строке: 
Код

cout <<  k <<"\n";

И где можно про это почитать?

Код

// 4.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include<iostream>
using namespace std;
#include<stdio.h>
#include<stdlib.h>

int main()
{
    //int twod[][] = new int[4][5];
    int i,j,k=0;
    int n,m;
    cout << "Please enter n : ";
    cin >> n;
    cout << "Please enter m : ";
    cin >> m;    
    n = n * 2;

    int mas[100][100];
        for (i=0;i<=n;i++)
            for (j=0;j<=m;j++){
                mas[i][j]=k;
                k++;
            }
    cout <<  k <<"\n";
    system("pause");
}

PM MAIL WWW ICQ Skype   Вверх
toxx
Дата 17.6.2010, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 4
Всего: 13



Цитата

1) Что нужно сюда вставить, что бы значения в массиве заполнялось рандомными числами.

Код

for (size_t i=0;i<n;i++)
    for (size_t =0;j<m;j++)
        mas[i][j]=rand();


Цитата

2) Как вывести такой массив:


почему другим? тем же cout и выводится
Цитата

3) Что означает "\n" в этой строке: 

перевод на новую строку.


Это сообщение отредактировал(а) toxx - 17.6.2010, 21:22
PM MAIL   Вверх
neic
Дата 17.6.2010, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: нет
Всего: 7



Цитата(toxx @  17.6.2010,  21:22 Найти цитируемый пост)
for (size_t i=0;i<n;i++)    for (size_t =0;j<m;j++)        mas[i][j]=rand();

а  #include какой-нить добавлять не нужно?
И как например задать от 20 до 50?


Цитата(toxx @  17.6.2010,  21:22 Найти цитируемый пост)
почему другим? тем же cout и выводится

Цитата(toxx @  17.6.2010,  21:22 Найти цитируемый пост)
перевод на новую строку.

Так получается?
Код

        for (i=0;i<=n;i++)
            for (j=0;j<=m;j++){
                mas[i][j]=k;
                k++;
                cout <<  " " + a[i][j];
            }
         cout <<  " " << "\n";



Это сообщение отредактировал(а) neic - 17.6.2010, 22:16
PM MAIL WWW ICQ Skype   Вверх
toxx
Дата 17.6.2010, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 4
Всего: 13



Цитата

а  #include какой-нить добавлять не нужно?
И как например задать от 20 до 50?

http://cplusplus.com/reference/clibrary/cstdlib/rand/

Цитата

Так получается?

если вы имеете ввиду вывести массив, то да
PM MAIL   Вверх
neic
Дата 17.6.2010, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: нет
Всего: 7



спасибо
PM MAIL WWW ICQ Skype   Вверх
neic
Дата 20.6.2010, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: нет
Всего: 7



Не выводит массив:
Код

int main()
{
    //int twod[][] = new int[4][5];
    int i,j,k=0;
    int n,m;
    cout << "Please enter n : ";
    cin >> n;
    cout << "Please enter m : ";
    cin >> m;    
    n = n * 2;

    int mas[100][100];
    for (i=0;i<=n;i++){
            for (j=0;j<=m;j++){
                mas[i][j]=rand() % 10 + 1;;
                cout <<  " " + mas[i][j];
                k++;
            }
        cout <<  "" <<"\n";
    }
    cout <<  k <<"\n";
    system("pause");
}


Вместо этого выходит раз 5-7 наверн:
Please enter n:

И потом:
Native ...
PM MAIL WWW ICQ Skype   Вверх
bsa
Дата 20.6.2010, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(neic @  17.6.2010,  21:16 Найти цитируемый пост)
1 день в Си разбираюсь
Приведенный код на языке С++, а не C. Имей это в виду.

Ошибка в строке 16 твоего когда. когда ты делаешь " " + mas[i][j], то создается новый указатель на строку, смещенный относительно начала расположения константы " " в коде на число mas[i][j]. Ты должен заменить + на <<.

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.3248 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.