#1 27.05.11 17:35
Создание двумерного массива типа char
вообщем пытаюсь создать массив S[25][80] к примеру... и заполнить его случайными значениями
делаю так:
Код::
....
cout<<"Введите кол-во символов в строке(m): ";cin>>m;
cout<<"Введите кол-во строк(n): ";cin>>n;
//Вот при заполнении возникают проблемы...
for (i=0;i<=m-1;i++)
for(j=0;j<=n-1;j++)
S[i][j]=65+random(26);
S[m][n]='\0';
cout<<"Array S: "<<endl;
cout<<S;
....Выводит мусор кароче...
Offline
#5 27.05.11 22:06
Re: Создание двумерного массива типа char
Код::
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main ()
{
int m, n;
char **S;
//char S[m][n];
printf ("Enter number of columns (m): ");
scanf ("%d", &m);
printf ("\nEnter number of rows (n): ");
scanf ("%d", &n);
S=new char* [n];
for (int i=0; i<n; i++)
S[i]=new char [m];
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
S[i][j]=65+rand()%26;
printf ("\nArray S:\n");
for (int i=0; i<n; i++)
{
for (int j=0; j<m; j++)
printf ("%c", S[i][j]);
printf ("\n");
}
getch ();
}Результат работы программы:
Enter number of columns (m): 10
Enter number of row (n): 10
Array S:
PHQGHUMEAY
LNLFDXFIRC
VSCXGGBWKF
NQDUXWFNFO
ZVSRTKJPRE
PGGXRPNRVY
STMWCYSYYC
QPEVIKEFFM
ZNIMKKASVW
SRENZKYCXF
Исправлено Mellon (27.05.11 22:19)
Offline
#10 30.05.11 23:01
Re: Создание двумерного массива типа char
Mellon написал(а):
зачем? В моем коде вообще ни одна строка на завершается нулем. \0 - это признак конца строки, необходимый, если неизвестна размерность массива, а если известна, то я не вижу в нем смысла.
Затем, что вывод массива строк ты бы написала не двумя вложенными циклами, а одним. И да - многие функции, работающие с char* строками требуют '\0' окончания.
Offline
#11 30.05.11 23:13
Re: Создание двумерного массива типа char
Flinn, я уверена, что могу обсудить здесь вопросы программирования, собственно для чего и создавался форум. И я всего лишь высказала свою точку зрения, а о своих способностях в программировании я хорошо знаю, а вот про товарища $up ничего определенного. Я не знаю кто из вас тут гуру программирования) Вот Revenger взял да и объяснил. Я не против, чтобы мне указали на мои ошибки) И никого я не тыкала...нормальный такой диалог...типа, спуститесь с небес к простым смертным))
Исправлено Mellon (30.05.11 23:25)
Offline

