18-11-2007, 23:43
|
|
|
חבר מתאריך: 17.05.05
הודעות: 7,321
|
|
בעיה בתוכנית קטנה ב-C: בניית פירמידה על-סמך קלט ממשתמש
ניסיתי לבנות פירמידה בסגנון הבא:
המשתמש מכניס מספר מ-1 עד 9 , ואני מדפיס X שורות, כאשר מוצגות בכל שורה פעמיים אותה הסיפרה (חוץ מהספרה 1).
ממש כמו באשכול שנפתח לפני כמה זמן:
http://www.fresh.co.il/vBulletin/sh...ad.php?t=369174
ניסיתי לעזור לפותח האשכול הנ"ל מבחינה רעיונית, אבל מבחינה טכנית לא הלך טוב.
להלן כל התוכנית שלי:
קוד:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
using namespace System;
int main(array<System::String ^> ^args)
{
char num, *row, storeDigit[10] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
short current, iter;
printf("Please print a number between 0-9:");
while((num = getchar()) && num>'0' && num<='9') // Validation
{
for(current=iter=(num-'0'); iter>0; --iter ) // Rows to print
{
while( current > 0)
*row++ = storeDigit[current--];
while( current <= iter)
*row++ = storeDigit[current++];
*row++ = '\0';
printf("%s\n", row);
}
}
getch();
return 0;
}
והשורות בהן יש את הבעיה הן:
קוד:
*row++ = storeDigit[current--];
while( current <= iter)
*row++ = storeDigit[current++];
[ בחלק של המצביע row לתו מסוג char ]
השגיאה שאני מקבל היא:
ציטוט:
An unhandled exception of type 'System.NullReferenceException' occurred in program.exe
Additional information: Object reference not set to an instance of an object.
|
מה אני עושה לא טוב, ואיך אוכל לתקן?
תודה רבה!
|